1

我需要一些帮助来理解 Emacs 初始化和加载路径变量构造。因此,在 $HOME 中有初始化文件 .emacs(或 .emacs.d/init.el)文件,它首先被加载,并且在该文件即将被读取时,加载路径已经包含来自 / 的目录等,/usr/*,例如来自 Emacs 发行版本身的目录。

加载初始化文件后,是否有任何标准的 Emacs 初始化文件,扫描 .emacs.d 并添加它在那里找到的子目录?

Emacs 手册在第一个 Emacs 初始化步骤( https://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html#Startup-Summary )中对 subdirs.el 做了一些说明,但它确实发生了在加载初始化文件之前,我不明白使用的语言:

  1. 它通过在列表中的每个目录中运行名为 subdirs.el 的文件,将子目录添加到加载路径。

在哪个“名单”中

4

2 回答 2

2

在这一步中,“列表”实际上是预加载的安装值load-path。其余要点在执行的步骤中很清楚。例如,一些 Debian/Ubuntu 发行版/etc/emacsXXload-path.

于 2016-03-02T20:46:10.700 回答
1

加载初始化文件后,是否有任何标准的 Emacs 初始化文件,扫描 .emacs.d 并添加它在那里找到的子目录?

一般来说,不会——Emacs 不会自动将任意子目录添加到您的load-path(并且您也不希望它)。

但是,对于某些特定的子目录,确实会发生这种情况。

从 Emacs 24 开始,内置的包管理器会load-path在评估完你的 init 文件后自动将你安装的 ELPA 包目录添加到。

和/或何时package-initialize显式调用,如果你这样做的话。)

默认情况下,您的 ELPA 软件包位于~/.emacs.d/elpa/

于 2016-03-03T01:32:56.140 回答