正如下面的评论中提到的:菲尔斯对重复问题的回答可能比这个更有帮助
这几乎可以肯定意味着您的init.el
文件在为package.el
. 后面的代码将带有自动完成库的目录添加到您的加载路径中。
我仍在使用 ELPA,而不是 package.el。使用 elpa,有一个看起来像这样的片段安装在.emacs
.
;;; This was installed by package-install.el.
;;; This provides support for the package system and
;;; interfacing with ELPA, the package archive.
;;; Move this code earlier if you want to reference
;;; packages in your .emacs.
(when
(load
(expand-file-name "~/.emacs.d/elpa/package.el"))
(package-initialize))
正如评论所暗示的,您可能希望将等效的package.el
初始化代码放在加载的内容之前init.el
。
最后:我注意到您提到添加.emacs.d
到您的load-path
. Emacs 加载路径不是递归的,因此可能无法满足您的需求(假设您的库位于子目录中)。几年前,我写了这个片段来加载我编写的各种 elisp 代码库。你可能会发现它很有用。(显然,它只适用于带有 shell 和 find 命令的 unixy 系统。它相当慢,但这似乎是shell-command-to-string
,即使运行“echo hello”等也需要几毫秒)
(defun find-elisp-dirs (dir)
"Find all directories below DIR containing elisp sources, ignoring those"
(split-string
(shell-command-to-string
(format "find %s -iname '*.el' -printf '%%h\\n' | sort -u"
(expand-file-name dir t)))))