什么是Emacs的最佳代码模板工具?

时间:2020-03-05 18:53:01  来源:igfitidea点击:

特别是,那里最好的摘录包是什么?

特征:

  • 易于定义新的片段(纯文本,具有默认值的自定义输入)
  • 片段中预定义位置之间的简单导航
  • 多次插入相同的自定义输入
  • 接受当前选择的文本作为自定义输入
  • 跨平台(Windows,Linux)
  • 用简洁的编程语言(首选Perl,Python,Ruby)编写的动态求值表达式(嵌入式代码)
  • 与Emacs中的其他软件包很好地共存

代码模板的示例,C中的一个简单的for循环:

for (int i = 0; i < %N%; ++i) {
  _
}

此类通用代码需要大量输入。我想调用插入的代码模板或者代码段
该样板代码对我来说。另外,它在"%N%"处停止(在TAB或者其他按键上)(我的输入替换了它),并且光标的最终位置是" _"。

解决方案

回答

TextMate的代码片段是最接近的匹配,但它不是跨平台的解决方案,也不适合Emacs。

第二个最接近的是yasnippet(截屏视频显示了主要功能)。但这会干扰我设置中的" hippie-expand"软件包,并且嵌入式语言是EmacsLisp,我对外部的.emacs不满意。

编辑:在这里发布我的答案,以允许对" yasnippet"进行投票。

回答

就个人而言,我已经使用Dmacro多年了(ftp://ftp.sgi.com/other/dmacro/dmacro.tar.gz)。

这是对此的评论,其中还提到了一些替代方法:http://linuxgazette.net/issue39/marsden.html

回答

EmacsWiki上有一个模板引擎页面。

其中,我在很久以前就使用过速度,将表支持添加到html-helper-mode中,但是不知道它在过去15年中是如何发展的。

回答

我会为节奏片段添加投票...易于设置,功能强大(我们可以在模板中运行任意elisp,以便对内容进行小写,查找文件名和类,对内容进行计数等),设置缩进,与缩写...我经常使用它;)