【问题标题】:Emacs for Windows error loading color themeEmacs for Windows 错误加载颜色主题
【发布时间】:2013-03-11 10:08:04
【问题描述】:

我在 Windows 8 上使用 emacs 24.3。我已经从 marmalade 存储库安装了日光化颜色主题,并且可以使用 M + x @ 进行设置987654321@。它还在我使用自定义时为当前会话设置,但当我再次打开 emacs 时不会加载。

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

以下是我的.emacs 文件中的一个 sn-p。

(custom-set-variables
  '(custom-enabled-themes (quote (solarized-dark)))
  '(custom-safe-themes (quote ("fc5fcb6f1f1c1bc01305694c59a1a861b008c534cae8d0e48e4d5e81ad718bc6" default)))
...

当我尝试将(load-theme 'solarized-dark t) 放入我的.emacs 时,出现错误:

error: Unable to find theme file for `solarized-dark'

我在打开 emacs 后检查了custom-theme-load-path 的值,它包括 elpa 用来存储日晒主题的目录。如上所述,我可以手动加载主题,但在初始化期间加载它的一些问题。

【问题讨论】:

    标签: emacs emacs24


    【解决方案1】:

    只需添加

    (包初始化)

    到 .emacs 文件的顶部,一切顺利。

    【讨论】:

    • 这不会给custom-theme-load-path添加主题
    • @Slomojo 作为包分发的颜色主题通常在加载时更新custom-theme-load-path。有问题的主题does so.
    • 问题是“通常”与package.el 无关,完全取决于主题作者。
    【解决方案2】:

    旁注:如果主题作者已处理好,主题将添加到custom-theme-load-path,但这不是deftheme 的一部分,取决于个人实现此行为的主题作者。

    为了解决这个问题,我对 emacslisp 做了一个快速的 sn-p,它会找到名称中带有 theme 的包,然后在启动时将它们添加到 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)))
    

    【讨论】:

    • 这个 sn-p 本质上是多余的:主题包确实应该通过自动加载更新 custom-theme-load-path,以便在 (package-initialize) 之后立即可用。
    • Should 和 DO 是两个不同的东西,它们不是,这很烦人,因此是脚本。
    • 如果主题没有,则应将其作为错误报告给其作者。
    • 正如我在问题中提到的,主题的文件夹已添加到custom-theme-load-path。问题是我打电话给load-theme时没有加载包。
    • @lunaryorn,与此同时,您正在等待 x 包作者进行修复? - 一个人多余的是另一个人“没有问题”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多