16.1 站点范围初始化文件

除了个人初始化文件外,Emacs 还会自动加载各种站点范围的初始化文件,如果这些文件存在的话。这些文件与你的 .emacs 文件具有相同的形式,但会被所有用户加载。

有两个站点范围的初始化文件,site-load.elsite-init.el,它们会在 Emacs 启动时被加载,然后如果创建了 Emacs 的已转储版本,它们会被转储。(已转储的 Emacs 拥有更快的加载速度。然而,一旦文件被加载并转储,对它的更改不会导致 Emacs 的变化,除非你自己加载它或重新转储 Emacs。See Building Emacs in The GNU Emacs Lisp Reference Manual, 以及 INSTALL 文件。)

另外,还有三个站点范围的初始化文件,每次启动 Emacs 时都会自动加载,如果它们存在的话。这些文件分别是 site-start.el,它在你的 .emacs 文件之前加载,以及 default.el 和终端类型文件,它们在你的 .emacs 文件之后加载。

在你的 .emacs 文件中的设置和定义会覆盖 site-start.el 文件中的冲突设置和定义(如果存在的话)。但是,在 default.el 或终端类型文件中的设置和定义会覆盖你的 .emacs 文件中的设置和定义。(你可以通过将 term-file-prefix 设置为 nil 来阻止终端类型文件的干扰。See 一个简单的扩展.)

分发中附带的 INSTALL 文件包含了对 site-init.elsite-load.el 文件的描述。

loadup.elstartup.elloaddefs.el 文件控制加载过程。这些文件位于 Emacs 分发包的 lisp 目录中,值得一读。

loaddefs.el 文件包含了许多关于要放入你自己的 .emacs 文件或站点范围初始化文件的建议。