Emacs初始化和加载路径

时间:2016-03-02 20:36:55

标签: emacs load-path

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

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

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

  
      
  1. 通过在列表中的每个目录中运行名为subdirs.el的文件,将子目录添加到load-path。
  2.   

"列表"

2 个答案:

答案 0 :(得分:2)

在此步骤"列表"实际上是load-path中预加载的安装值。其余的要点在所执行的步骤中是明确的。例如,一些Debian / Ubuntu发行版在/etc/emacsXX中添加了一些系统范围的配置文件,当他将包编译为load-path中的一些初始路径时,这在源代码中是硬编码的。 / p>

答案 1 :(得分:1)

  

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

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

然而,某些特定的子目录会发生这种情况。

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

And/or when package-initialize is called explicitly,如果你这样做。)

默认情况下,您的ELPA套餐位于~/.emacs.d/elpa/