2014-10-08 112 views
0

我已经安装在Emacs颜色主题包,我想在一开始设定一个主题了的Emacs的,所以我说这我.emacs文件:颜色的主题没有正确设置在.emacs文件

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

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

+0

这不是一个编程问题。你应该尝试超级用户。 – Duck 2014-10-08 02:57:10

+0

@Duck如果你打算告诉别人在别处考虑他们的Emacs问题,你可以考虑将它们发送到[Emacs.SE](https://emacs.stackexchange.com/)。 – itsjeyd 2014-10-08 12:26:32

+0

@itsjeyd - 直到现在我还没有意识到,但我会在未来。在任何情况下,linux标签通常都会出现无法编程的问题。也许有更好的方法来引导人们检查最适合他们问题的stackexchange网站吗? – Duck 2014-10-08 14:44:56

回答

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。

+0

是的,使用'init-hook'似乎解决了我的问题。谢谢! – 2014-10-08 20:41:03

+0

很高兴听到它。感谢您让我们知道。 – 2014-10-09 07:18:09

0

您需要加载库color-theme.el。你有什么之前就已经把这个代码:

(require 'color-theme) 

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

当然color-theme.el需要在你的load-path和。

color-theme-initialize初始化的主题,所以他们可以被加载。它不会加载库color-theme.el

+0

我添加了'(需要'颜色主题)'但仍然没有改变。我从elpa安装了color-theme,所以我认为它会自动加载。 – 2014-10-08 02:56:11

+0

您可以通过查看变量'features'的值来检查它是否被加载。你可以通过查看变量'load-path'来检查它是否在你的'load-path'中。 – Drew 2014-10-08 02:57:03

+0

'color-theme.el'位于我的'.emacs.d'文件夹中,所以我认为它在我的'load-path'中。我做了'(add-to-list'load-path“〜/ .emacs.d”)'是安全的,但结果是一样的。我如何检查'features'变量? – 2014-10-08 03:02:12