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

时间:2008-09-14 16:27:22

标签: emacs template-engine code-snippets

特别是,那里最好的片段包是什么?

特点:

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

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

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

这种常见代码的输入很多。我想调用一个插入的代码模板或代码段 那个样板代码对我而言。此外,它在%N%处停止(在TAB或其他击键上)(我的输入替换它),并且光标的最终位置为_

6 个答案:

答案 0 :(得分:22)

TextMate's snippets是最接近的匹配,但它不是跨平台解决方案,不适用于Emacs。

第二个最接近的是yasnippetscreencast显示主要功能)。但它干扰了我的设置中的hippie-expand包,嵌入式语言是EmacsLisp,我对.emacs以外的用户不满意。

编辑:在此发表我的回答,允许对yasnippet进行投票。

答案 1 :(得分:4)

就个人而言,我多年来一直在使用Dmacro(ftp://ftp.sgi.com/other/dmacro/dmacro.tar.gz)。

以下是对它的评论,也提到了一些替代方案:http://linuxgazette.net/issue39/marsden.html

答案 2 :(得分:3)

EmacsWiki有page of template engines

其中,我在(遥远的)过去使用tempohtml-helper-mode添加了表格支持,但不知道它在过去15年中是如何发展的。

答案 3 :(得分:3)

我添加了对tempo snippets的投票...易于设置,功能强大(您可以在模板中运行任意elisp - 这样您就可以对内容进行包含,查找文件名和类,计算内容等) ),设置缩进,与缩写集成......我经常使用它;)

答案 4 :(得分:2)

我投票给http://cedet.sourceforge.net/srecode.shtml

语法非常简洁,可以通过Semantic访问代码环境。

此外,它也是大量支持的CEDET发行版的一部分(内置于Emacs for 24.x版本系列中)。

更新 https://github.com/capitaomorte/yasnippet也是强大的模板引擎。但它使用丑陋的文件命名模式(您的文件名===模板名称),因为您不能将多个模板放入单个文件中并且存在国家字符集的问题...

答案 5 :(得分:1)

您可以尝试轻量级解决方案muban.el

它完全用Elisp编写,语法非常简单。