在.emacs文件中未正确设置颜色主题

时间:2014-10-08 02:15:11

标签: linux emacs elisp color-scheme

我在emacs中安装了颜色主题包,我想在emacs启动时设置主题,所以我将其添加到我的.emacs文件中:

(color-theme-initialize)
(color-theme-clarity)

但是当我重新启动emacs时,主题未被选中。我没有收到任何错误,但我选择的主题没有被应用,除非我手动执行M-x color-theme-clarity。我做错了什么?

2 个答案:

答案 0 :(得分:1)

虽然我不确定您的主题问题是否属于这种情况,但由于其他初始化事件推翻了主题加载,我也遇到过类似主题相关的问题。

也许使用after-init-hook会导致主题加载发生在初始化中的其他任何事情导致问题之后?

您可以尝试类似以下内容(注意:未经测试):

(add-hook 'after-init-hook
          (lambda ()
            (load-theme 'color-theme-clarity)))

(您可能需要使用(color-theme-clarity)而不是(load-theme...)表达式,具体取决于该主题是否基于主题包。)

在最坏的情况下,您可以使用(run-with-timer ...)(run-with-idle-timer ...)(再次,未经测试)来安排主题加载在初始化结束后几秒钟发生,以模拟您的手动解决方法。不过,这将是一个kludgey。

答案 1 :(得分:0)

您需要加载库color-theme.el。将此代码放在您已经拥有的代码之前:

(require 'color-theme)

(你可能甚至不需要调用color-theme-initialize。)

当然color-theme.el需要在您的load-path中。

color-theme-initialize初始化主题本身,因此可以加载它们。它不会加载库color-theme.el。)