我从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
的开头
它没有任何区别。
答案 0 :(得分:1)
ELPA为您的包添加自动加载。我不使用主题,但通常会执行类似(eval-after-load "color-theme" (quote (color-theme-solarized)))
的操作,或者,如果您希望它在刚刚自动加载(但未完全加载)之后运行,(eval-after-load "color-theme-autoloads" (quote (color-theme-solarized)))
。