【问题标题】:Emacs 24: Unable to find theme file for `solarized-dark.Emacs 24:找不到“solarized-dark”的主题文件。
【发布时间】:2015-02-27 13:10:04
【问题描述】:

我在 Mac 10.9.5 上使用 Emacs 24.4

按照此处的说明:https://github.com/sellout/emacs-color-theme-solarized,我下载了emacs-color-theme-solarized 目录并将其添加到我的 Emacs 自定义主题加载路径中。该目录(EmacsMacports 一起安装)如下所示:

 ls /opt/local/share/emacs/24.4/etc/themes/
 adwaita-theme.el            light-blue-theme.el         tsdh-dark-theme.el
 deeper-blue-theme.el        manoj-dark-theme.el         tsdh-light-theme.el
 dichromacy-theme.el         misterioso-theme.el         wheatgrass-theme.el
 emacs-color-theme-solarized tango-dark-theme.el         whiteboard-theme.el
 leuven-theme.el             tango-theme.el              wombat-theme.el

其中emacs-color-theme-solarized 是目录。然后我将(load-theme 'solarized-dark t) 添加到我的.emacs 文件中,当我重新启动emacs 时出现错误:Unable to find theme file for 'solarized-dark

我尝试将emacs-color-theme-solarized 目录中的所有文件直接移动到/opt/local/share/emacs/24.4/etc/themes/ 目录中,这样:

ls /opt/local/share/emacs/24.4/etc/themes/
LICENSE                      leuven-theme.el              tango-dark-theme.el
README.md                    light-blue-theme.el          tango-theme.el
adwaita-theme.el             makepkg.sh                   tsdh-dark-theme.el
color-theme-solarized-pkg.el manoj-dark-theme.el          tsdh-light-theme.el
color-theme-solarized.el     misterioso-theme.el          wheatgrass-theme.el
deeper-blue-theme.el         solarized-dark-theme.el      whiteboard-theme.el
dichromacy-theme.el          solarized-definitions.el     wombat-theme.el
emacs-color-theme-solarized  solarized-light-theme.el 

遵循相同的过程并获得相同的结果。最后,我在这里读到:Emacs 24 Package System Initialization Problems 一个可能的解决方案是在我的.emacs 文件的开头添加以下两行:

(setq package-enable-at-startup nil)
(package-initialize)

所以我做了并获得了相同的结果。即使手动加载主题:load-theme 然后solarized-dark 也不能解决问题。 .emacs 似乎忽略了对该目录所做的任何更改。

顺便说一句,我还尝试将(add-to-list 'load-path " /opt/local/share/emacs/24.4/etc/themes")(add-to-list 'load-path " ~/emacs.d/themes") 添加到我的.emacs 文件中,但同样失败。

如果有任何用途,安装附带的任何主题,例如(load-theme 'tsdh-dark t),都可以完美运行

关于如何解决日晒主题的这个问题有什么想法吗?

谢谢,新年快乐!

【问题讨论】:

    标签: macos emacs themes


    【解决方案1】:

    Emacs 24 包含package.el,我强烈建议尽可能使用它来安装软件包。 Solarized 主题的版本可从MELPA StableMELPAMarmalade 获得。

    如果您还没有使用过这些软件包存储库,则需要通过在您的 init 文件中添加类似这样的内容来添加:

    (require 'package)
    (package-initialize)
    
    (add-to-list 'package-archives
                 '("melpa-stable" . "http://stable.melpa.org/packages/") t)
    

    然后使用M-x package-list-packages,搜索color-theme-sanityinc-solarized,用i标记安装,然后用x安装标记的包。我发现这个包列表界面对于发现新包非常方便。

    以这种方式安装的包通常进入~/.emacs.d/elpa/,例如~/.emacs.d/elpa/color-theme-solarized-2.27/。这应该会自动添加到您的custom-theme-load-path,这是load-theme 工作所必需的。

    请注意,此特定版本包含两个主题以包维护者的名称为前缀,因此您必须执行类似的操作

    (load-theme 'sanityinc-solarized-dark)  ; or
    (load-theme 'sanityinc-solarized-light)
    

    使主题加载。以交互方式,load-theme 支持制表符补全,这可能是查看实际调用的已安装主题的最佳方式。

    顺便说一句,您可能还想研究automating the package.el install process 的工具,如果您在多台机器上工作,这会特别方便。

    【讨论】:

    • 我已经这样做了,并且软件包已安装,谢谢 Chris。但是,当我输入 (load-theme 'solarized-dark t) 时,我仍然得到完全相同的错误。另外,软件包安装在哪里?我怎样才能指向它?
    • 我已经能够通过M-x color-theme-sanityinc-solarized-dark 做到这一点。但理想情况下,我更愿意从 .emacs 文件中执行此操作。
    • 无论如何,克里斯,我只是设法手动完成(load-theme 命令不起作用)。使用M-x color-theme-sanityinc-solarized-dark,然后稍微编辑.emacs 文件(鉴于我有一系列custom-set-faces 必须适应)。谢谢您的帮助。问题解决了!
    • @Javier,我已经更新了我的答案以指定 ELPA 包的存储位置,并澄清这个包的主题实际上并未被称为 solarized-darksolarized-light,这可能就是你打电话给 @ 的原因987654348@ 失败。
    • 非常感谢克里斯,它确实有效(我真傻!)。完美的。所有设置为正确编码;)
    猜你喜欢
    • 1970-01-01
    • 2012-04-08
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多