Emacs 24:无法找到`solarized-dark的主题文件。

时间:2014-12-31 12:33:21

标签: macos emacs themes

我在Mac 10.9.5上使用Emacs 24.4

按照此处的说明https://github.com/sellout/emacs-color-theme-solarized,我下载了emacs-color-theme-solarized目录并将其添加到我的Emacs custom-theme-load-path中。该目录(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")添加到我的.emacs文件以及(add-to-list 'load-path " ~/emacs.d/themes"),但它也是不成功的。

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

有关如何为日晒主题解决此问题的任何想法?

感谢新年快乐!

1 个答案:

答案 0 :(得分:12)

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

如果您尚未使用任何这些软件包存储库,则需要通过在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的工具,如果您在多台计算机上工作,这将非常方便。