Emacs for Windows错误加载颜色主题

时间:2013-03-21 18:27:13

标签: emacs emacs24

我在Windows 8上使用emacs 24.3。我已经从marmalade存储库中安装了曝光的颜色主题,并且能够使用 M + x {来设置它{1}}。当我使用Customize时,它也为当前会话设置,但是当我再次打开emacs时,它不会加载。

我可以打开自定义菜单并选择主题,但保存更改不会做任何事情,并且在我和下一个会话之间没有任何变化。我在这里看了几个关于颜色主题的问题,但大多数都不适用于Emacs 24,因为我不需要使用load-theme来完成它。

以下是我的color-theme文件的摘要。

.emacs

当我尝试将(custom-set-variables '(custom-enabled-themes (quote (solarized-dark))) '(custom-safe-themes (quote ("fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default))) ... 放入我的(load-theme 'solarized-dark t)时,我收到错误:

.emacs

我在打开emacs后检查了error: Unable to find theme file for `solarized-dark' 的值,它包含了elpa用于存储曝光主题的目录。如上所述,我可以手动加载主题,但在init期间加载它的一些事情就是破坏。

2 个答案:

答案 0 :(得分:14)

添加

(包初始化)

在你的.emacs文件的顶部,你很高兴。

答案 1 :(得分:0)

旁注:如果主题作者已经处理过,主题会将自己添加到custom-theme-load-path,但这不是deftheme的一部分,由个别主题作者实现这种行为。

为了解决这个问题,我制作了一个快速的emacslisp片段,它会在其名称中找到包含主题的包,然后在启动时将它们添加到custom-theme-load-path

只需将其添加到~/.emacs~/.emacs.d/init.el的顶部(即load-theme之前

它依赖于s.eldash.el(均可在elpa上找到)

(require 'dash)
(require 's)

(-each
 (-map
  (lambda (item)
    (format "~/.emacs.d/elpa/%s" item))
  (-filter
   (lambda (item) (s-contains? "theme" item))
   (directory-files "~/.emacs.d/elpa/")))
 (lambda (item)
   (add-to-list 'custom-theme-load-path item)))