有用户偏爱 Emacs 的默认配置。毕竟,编辑 C 文件时会自动进入 C 模式,编辑 Fortran 文件进入 Fortran 模式,编辑无格式普通文件则进入基本模式。在不确定使用者身份的前提下,这些默认行为是合理的——谁也不知道用户会用普通文件做什么。基本模式是这类文件的合适默认值,就像 C 模式是编辑 C 代码的合适默认值一样。(很多编程语言语法相近,可共用或近似共用相关功能,因此 C 模式现在由 CC 模式(C 集合模式)提供。)
但当你明确使用者就是自己时,对 Emacs 进行自定义就很有必要了。
例如,我编辑普通无格式文件时很少使用基本模式,而是希望直接进入文本模式。这就是我自定义 Emacs 的原因:让它更贴合我的使用习惯。
你可以通过编写或修改 ~/.emacs 文件来自定义和扩展 Emacs。这是你的个人初始化文件,其中用 Emacs Lisp 编写的内容会告诉 Emacs 如何运行。19
~/.emacs 文件包含 Emacs Lisp 代码。你可以手动编写,也可以使用 Emacs 的 customize 功能自动生成代码。你可以在 .emacs 文件中混合使用手写表达式和 Customize 自动生成的表达式。
(我个人更倾向于手写表达式,只有字体等设置会使用 customize 命令更方便地调整。我会混合使用两种方式。)
本章大部分内容介绍如何手动编写表达式,并以一个简单的 .emacs 文件为例;更多信息可参考 初始化文件 in GNU Emacs 手册 以及 初始化文件 in GNU Emacs Lisp 参考手册。
你也可以在 ~/.emacs 后添加 .el,命名为 ~/.emacs.el。过去不建议使用较长的 ~/.emacs.el 文件名,但现在已允许。新格式符合 Emacs Lisp 文件命名规范,旧格式则更节省输入。