auto-insert -- 自动插入功能

auto-insert是一个十分有用的功能, 比如我们在写一个C语言的头文 件时, 一般会加入下面的代码
#ifndef XXX_H
#define XXX_H

#endif /* XXX_H */

auto-insert就方便了我们, 不用每次都要手工输入这些代码, 新建 一个头文件时, 它会询问是否要加入这些 自动生成的代码, 下面来看一下 auto-insert如何使用
`M-x auto-insert'会根据当前的mode在新建的文 件 插入一些预定的文本, 如果想在打开文件时 自动 插入的话, 将下面的代 码加入~/. emacs
(add-hook 'find-file-hooks 'auto-insert)

修改 `auto-insert-alist'可以定制 插入的模板, 可以使用 `defint-auto-insert'来加入或者修改 `auto-insert-alist'
变量 `auto-insert'用来定制 自动 插入时的动作类 型
  • `nil' 什么都不作, 即不执行 插入动作
  • `t'根据auto-insert-alist和当前的mode执 行对应的 插入动作
  • 其他值 同`t', 但是 自动 插入文本后, 不置 文档修改标志
变量 `auto-insert-query'定义 自动 插入文本前是 否询问, `Non-nil'表示 自动 插入文本前要询问.
变量 `auto-insert-prompt'设定询问的语句, 如 果有%s, 则将被替换为执行 插入的条件
变量 `auto-insert-directory'设定模板的路径, 注意必须以`/'结尾
下面是一个比价完整的配置
(setq auto-insert t)
(setq auto-insert-query t)
(add-hook 'find-file-hooks 'auto-insert)
(setq auto-insert-directory "~/insert/")
(define-auto-insert '("^build\\.xml\\'" . "Ant编译脚本") "build.xml")