我刚刚cmake-mode
使用以下命令在Emacs 24中安装了该软件包:
M-x package-install cmake-mode
我可以看到包:~/.emacs.d/elpa/cmake-mode-20110824
,我可以使用指令在加载它Commentary:
的部分~/.emacs.d/elpa/cmake-mode-20110824/cmake-mode.el
:
;; Add this code to your .emacs file to use the mode:
;;
;; (setq load-path (cons (expand-file-name "/dir/with/cmake-mode") load-path))
;; (require 'cmake-mode)
;; (setq auto-mode-alist
;; (append '(("CMakeLists\\.txt\\'" . cmake-mode)
;; ("\\.cmake\\'" . cmake-mode))
;; auto-mode-alist))
但这与ELPA的EmacsWiki页面上的用法说明矛盾:
...软件包在init.el加载后初始化。这意味着您不应该将特定于程序包的初始化放入您的init.el中。
我倾向于同意此说明,因为在~/.gnu-emacs
文件中添加了以下行:
(add-to-list 'load-path "~/.emacs.d/elpa/cmake-mode-20110824/")
是很难看的,如果我何时升级软件包,它会损坏。但是,如果没有这一行,我将无法使用cmake-mode
。
我在这里想念什么吗?
笔记:
- 我没什么奇怪的
package-enable-at-startup
,它的价值是t
。 - 我正在使用序曲。
user-emacs-directory
值是"~/.emacs.d/"
(感谢@lawlist的建议)package-user-dir
值是"~/.emacs.d/elpa"
elpa
目录,即~/.emacs.d/cmake-mode-20110824/
不在自动加载文件期望的位置。
~/.emacs.d/elpa/cmake-mode-20110824/
。问题仍然存在。
default-directory
或的位置user-emacs-directory
,从而elpa
未加载目录?package-install
创建elpa
目录,并且在安装过程中创建的自动加载文件将基于该位置。