Chapter 4 一些常用的Emacs功能

Table of Contents
4.1 auto-insert -- 自动插入功能
4.2 QuickURL -- 快速插入地址
4.3 time-stamp -- 记录修改时间
4.4 我最最讨厌的
Jerry

这一部分对Emacs安装后自带的一些实用的扩展功能进行讲解

4.1 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'用来定制自动插入时的动作类 型

变量`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")
   

常见问题, auto-insert-directory的值必须以`/'结尾, 否则就不能 正常工作