我有一套常用的代码bash脚本。我想在创建新文件时自动在emacs中加载这些代码片段,如何设置?
答案 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
以包含您的模板。