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")