2014-10-08 61 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