在Emacs 24.3.1如果我M-X load-theme
並加載另一個主題,它往往會干擾我當前的主題,而不是取代它,給一個非常難看的結果顏色明智。加載一個不同的主題(主題衝突)後Emacs禁用主題
一個例子是在此處,solarized-light
和wombat
主題是矛盾的:
我通過做舊主題的M-X disable-theme
解決這個問題,有沒有解決這個問題一個更清潔的方式?
在Emacs 24.3.1如果我M-X load-theme
並加載另一個主題,它往往會干擾我當前的主題,而不是取代它,給一個非常難看的結果顏色明智。加載一個不同的主題(主題衝突)後Emacs禁用主題
一個例子是在此處,solarized-light
和wombat
主題是矛盾的:
我通過做舊主題的M-X disable-theme
解決這個問題,有沒有解決這個問題一個更清潔的方式?
首先禁用活動主題肯定有幫助。
如果您添加到您的init.el:
(defun disable-all-themes()
"disable all active themes."
(dolist (i custom-enabled-themes)
(disable-theme i)))
(defadvice load-theme (before disable-themes-first activate)
(disable-all-themes))
功能load-theme
將首先禁用活動的主題,加載新的人之前。
這個建議是一個壞主意。主題_supposed_可以在彼此之上應用。包可能依賴於此。定義一個完成相同事情的新命令會更好。 – Malabarba
可能重複[Emacs:如何獲得默認主題?](http://stackoverflow.com/questions/22127337/emacs-how-to-get-the-default-theme) –
abo-abo that does似乎相關(謝謝!),但它不是重複的。這個問題也沒有被接受的答案。看看你對這個問題的回答,雖然有相當的啓發 - emacs色彩支持能力差是多麼的令人驚訝,考慮到程序有多老,以及基本的顏色支持如何。 –
簡短的回答,你不能這樣做。加載主題時,它會更改所有支持的面的屬性,但不會重置面的屬性。你可以做的是在加載任何主題之前記錄所有標準面的屬性,然後在切換到新主題之前使用它們恢復到默認主題。然而,許多軟件包指定了自己的面孔,如果自定義主題支持該軟件包,那些顏色將不會被恢復。顏色主題是一團糟。 –