我在emacs中安装了颜色主题包,我想在emacs启动时设置主题,所以我将其添加到我的.emacs文件中:
(color-theme-initialize)
(color-theme-clarity)
但是当我重新启动emacs时,主题未被选中。我没有收到任何错误,但我选择的主题没有被应用,除非我手动执行M-x color-theme-clarity
。我做错了什么?
答案 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
。)