Emacs 初始化和加载路径
Emacs initialization and load-path
我需要一些帮助来理解 Emacs 初始化和加载路径变量构造。
所以,在$HOME中有初始化文件.emacs(或.emacs.d/init.el)文件,首先被加载,而在这个文件即将被读取时,load-path已经包含了目录来自 /etc、/usr/*,例如来自 Emacs 发行版本身的目录。
加载初始化文件后是否有任何标准的 Emacs 初始化文件,扫描 .emacs.d 并添加它在那里找到的子目录?
Emacs 手册在第一个 Emacs 初始化步骤 (https://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html#Startup-Summary) 中说了一些关于 subdirs.el 的内容,但它发生在加载 init 文件之前,我不明白使用的语言:
- It adds subdirectories to load-path, by running the file named subdirs.el in each directory in the list.
其中"the list"?
这一步中的"the list"实际上是load-path
中预加载的安装值。其余要点在执行的步骤中很清楚。例如,一些 Debian/Ubuntu 发行版在 /etc/emacsXX
中添加了一些系统范围的配置文件,并且在编译包时将其硬编码在源代码中作为 load-path
中的一些初始路径.
After loading the init file is there any standard Emacs initialization files, that scan through .emacs.d and adds subdirectories it finds there?
一般来说,不会——Emacs 不会自动向您的 load-path
添加任意子目录(您也不希望它这样做)。
然而,某些 特定 子目录确实会发生这种情况。
从 Emacs 24 开始,内置包管理器会在您的 init 文件被评估后自动将您安装的 ELPA 包目录添加到 load-path
。
(And/or when package-initialize
is called explicitly,如果你这样做的话。)
默认情况下,您的 ELPA 包位于 ~/.emacs.d/elpa/
下
我需要一些帮助来理解 Emacs 初始化和加载路径变量构造。 所以,在$HOME中有初始化文件.emacs(或.emacs.d/init.el)文件,首先被加载,而在这个文件即将被读取时,load-path已经包含了目录来自 /etc、/usr/*,例如来自 Emacs 发行版本身的目录。
加载初始化文件后是否有任何标准的 Emacs 初始化文件,扫描 .emacs.d 并添加它在那里找到的子目录?
Emacs 手册在第一个 Emacs 初始化步骤 (https://www.gnu.org/software/emacs/manual/html_node/elisp/Startup-Summary.html#Startup-Summary) 中说了一些关于 subdirs.el 的内容,但它发生在加载 init 文件之前,我不明白使用的语言:
- It adds subdirectories to load-path, by running the file named subdirs.el in each directory in the list.
其中"the list"?
这一步中的"the list"实际上是load-path
中预加载的安装值。其余要点在执行的步骤中很清楚。例如,一些 Debian/Ubuntu 发行版在 /etc/emacsXX
中添加了一些系统范围的配置文件,并且在编译包时将其硬编码在源代码中作为 load-path
中的一些初始路径.
After loading the init file is there any standard Emacs initialization files, that scan through .emacs.d and adds subdirectories it finds there?
一般来说,不会——Emacs 不会自动向您的 load-path
添加任意子目录(您也不希望它这样做)。
然而,某些 特定 子目录确实会发生这种情况。
从 Emacs 24 开始,内置包管理器会在您的 init 文件被评估后自动将您安装的 ELPA 包目录添加到 load-path
。
(And/or when package-initialize
is called explicitly,如果你这样做的话。)
默认情况下,您的 ELPA 包位于 ~/.emacs.d/elpa/