自动加载emacs中的代码段

时间:2015-03-12 20:06:35

标签: linux emacs

我有一套常用的代码bash脚本。我想在创建新文件时自动在emacs中加载这些代码片段,如何设置?

1 个答案:

答案 0 :(得分:0)

您的问题中的“片段”一词有点令人困惑,因为它经常用于描述编辑文档时交互式插入代码。

另一方面,您的描述指定“在创建新文件时”,这让我觉得您真的在寻找一些自动插入到新文件中的样板文件。在这种情况下,我会推荐内置的auto-insert-mode

(auto-insert-mode)  ; Enable the feature globally

;;; Define what should get auto-inserted
(eval-after-load 'autoinsert
  '(define-auto-insert
     '("\\.sh\\'" . "Bash skeleton")
     '("Short description: "
       "#!/bin/bash\n\n"
       "More content...\n")))

现在,当您创建一个新的.sh文件时,您应该会询问是否要“执行Bash骨架自动插入”。如果您总想插入模板,可以添加

(setq auto-insert-query nil)

跳过提示。

如果您希望从文件目录加载模板,请执行以下操作:

(auto-insert-mode)
(setq auto-insert-directory "~/.emacs.d/templates/")
(define-auto-insert "\.sh" "bash-template.sh")

并创建一个文件~/.emacs.d/templates/bash-template.sh以包含您的模板。