5

我从https://github.com/technomancy/emacs-starter-kit中提取了入门套件,它安装在~/.emacs.d/elpa. 按照 的说明starter-kit.el,我将用户特定的自定义设置在~/.emacs.d/$USER.el

(require 'color-theme-solarized)
(color-theme-solarized-dark)
(require 'auto-complete)
(global-auto-complete-mode)

但是当我开始使用 emacs 时,它说

File error: Cannot open load file, color-theme-solarized

我检查了load-path变量,发现路径color-theme-solarized不在其中。所以我在“要求”它之前添加了这个:

 (add-to-list 'load-path "~/.emacs.d/elpa/color-theme-solarized-20120301)

但是错误仍然发生。然后我参考了elpa的wiki,它说所有的包都在init.el加载后初始化。然后我阅读starter-kit.el并发现$USER.el添加到after-init-hook,这意味着错误不应该发生,因为在$USER.el初始化结束时加载了。我拼命地把我所有的定制移到最后init.el,令我惊讶的是,它工作得很好。似乎init.el是最后而不是首先加载的。除了将它写在init.el? 我不想做的init.el太长。

ps:我已经把(require 'package)(package-initialize)放在开头,init.el 它没有任何区别。

4

1 回答 1

1

ELPA 为您的包添加自动加载。我不使用主题,但通常你会做类似的事情(eval-after-load "color-theme" (quote (color-theme-solarized))),或者,如果你希望它在它刚刚自动加载(但没有完全加载)之后运行, (eval-after-load "color-theme-autoloads" (quote (color-theme-solarized))).

于 2013-06-04T11:20:56.513 回答