.emacs.d是否属于加载路径?

.emacs.d是否属于加载路径?,emacs,Emacs,My.emacs.d/包含文件load-directory.el,顾名思义,该文件提供函数load directory(是的,它还包含语句(提供'load directory))。我希望在启动时加载它,但语句(require'load directory)返回此错误: File error: Cannot open load file, load-directory 怎么了? 提前谢谢。 看起来像是加载目录。el不在加载路径中。如果是您的.emacs.d,请通过以下方式添加: (add-to-

My
.emacs.d/
包含文件load-directory.el,顾名思义,该文件提供函数load directory(是的,它还包含语句
(提供'load directory)
)。我希望在启动时加载它,但语句
(require'load directory)
返回此错误:

File error: Cannot open load file, load-directory
怎么了? 提前谢谢。

看起来像是加载目录。el不在加载路径中。如果是您的
.emacs.d
,请通过以下方式添加:

(add-to-list 'load-path "path/to/.emacs.d")                  ; note: no trailing /
如果
load directory.el
本身包含所有
load path
自定义项,则可以使用
require
的第二个可选参数告诉它要使用哪个文件名:

(require 'load-directory "path/to/directory/load-directory") ; note: no file extension needed

(以防万一:它应该是
(提供'加载目录)
,而不是
(提供…

使用自定义Lisp扩展名的子目录,例如
~/.emacs.d/Lisp/
,并将此目录添加到
加载路径中:

(add-to-list 'load-path (locate-user-emacs-file "lisp/"))

不要将
~/.emacs.d/
添加到
加载路径中。有关详细信息,请参见

否,.emacs.d不属于加载路径

从文档字符串:

目录,在该目录下可以显示其他每用户特定于Emacs的文件 放置。Emacs中的各种程序将信息存储在此目录中

这是一个自动写入文件的目录。因此,它不应该包含您自己的文件。这意味着,如果将其添加到加载路径中,则可能是做错了什么


这个警告有点误导。首先,问题不在于加载路径本身,而是您不希望自己的lisp文件位于该目录中,因为它们可能被覆盖。

好的,谢谢。但是我真的不明白为什么
用户emacs目录
不属于
加载路径
。您不应该将
~/.emacs.d/
添加到
加载路径
。请注意,您不想将
~/.emacs.d
本身放在加载路径中。请参阅并澄清,默认情况下,
~/.emacs.d
用户emacs目录
)不在
加载路径中。这就是你犯错误的真正原因。在24.4中,如果
用户emacs目录
位于
加载路径
中,则会出现警告,因此最好使用子目录。