我写了很多短暂的一次性程序,我发现自己反复做的事情之一就是输入代码
#include#include int main(void){ }
为了节省一些肌腱命中,我想知道是否有可能在我创建扩展名为.c的缓冲区时插入一个简单的模板.
把这样的东西放进去 .emacs
(define-skeleton c-throwaway "Throwaway C skeleton" nil "#include\n" "#include \n" "\n" "int main(void){\n" "\n" "}\n")
和eval(C-x C-e
)吧.这将为您提供一个c-throwaway
插入模板的函数().
要自动插入,您需要激活
auto-insert-mode
.一旦你这样做,你可以describe-variable
auto-mode-alist
阅读emacs如何处理它的一些开放文件魔法.然后定义auto-insert-alist
在找到新文件时应用它.
也许这样的事情
(define-auto-insert "\\.\\([Cc]\\|cc\\|cpp\\)\\'" 'c-throwaway)
更多详情:
自动插入模式
复写
我使用http://emacs-template.sourceforge.net/上的 template.el
基本上,我创建一个名为〜/ .templates/TEMPLATE.c的文件,然后将其插入到我的.c文件中.如果您不想将文本转储到缓冲区,也可以使用特殊标记和任意lisp表达式.我使用此功能,以便当它们命名为lib/Foo/Bar.pm时,Perl模块以"package Foo :: Bar"开头.非常便利.