【问题标题】:Emacs initialization and load-pathEmacs 初始化和加载路径
【发布时间】:2016-06-15 22:00:10
【问题描述】:

我需要一些帮助来理解 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 的内容,但它发生在加载 init 文件之前,我不明白所使用的语言:

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

在哪个“列表”

【问题讨论】:

    标签: emacs load-path


    【解决方案1】:

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

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

    这确实发生在某些特定的子目录中。

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

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

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

    【讨论】:

    • 好的,我明白了。 package-initialize其实是在参考手册中“启动”的总结中提到的。
    【解决方案2】:

    在这一步中,“列表”实际上是load-path 中的预加载安装值。其余要点在执行的步骤中很清楚。例如,一些 Debian/Ubuntu 发行版在/etc/emacsXX 中添加了一些系统范围的配置文件,并且在将包编译为load-path 中的一些初始路径时,这些文件在源代码中被硬编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-24
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      • 1970-01-01
      • 2011-08-14
      • 2011-12-28
      • 2016-10-31
      相关资源
      最近更新 更多