2010-06-22 50 views
6

我使用emacs編輯多種文件類型,並且想要一個簡單的可視化隊列來告訴.vhd或.py文件中的.c文件。如何將自定義背景顏色添加到該語言的主要模式?Emacs按模式自定義背景顏色

回答

6

你可以通過鉤子來做到這一點。除了其他事情你可以掛鉤是當一個新的主要模式開始。把這樣的東西放到你的.emacs文件中,每當你進入Python模式時,emacs都會將你的背景顏色設置爲紫色。

(add-hook 'python-mode-hook 
      (lambda() 
       (set-background-color "purple"))) 

重置背景顏色在您切換回它留給作爲練習讀者,並沒有一個明確的設置背景掛機的模式的情況下,默認。

還可以手動M-X設定背景色

+0

謝謝,這就是我一直在尋找。 – 2010-06-22 16:27:33

+0

請注意,您不能更改背景顏色*每個緩衝區*或*每個窗口*雖然,只有每幀(見Trey Jackson的答案在下面)。 – Thomas 2011-08-05 01:45:54

3

對於後代來說,因爲這個線程已經有4年了,現在Emacs 24.4+可以在緩衝區本地級別上改變面部。只需定義一張臉並使用(face-remap-add-relative)即可隨心所欲地換出任何臉部。

定義defface

(defface my-special-face '((t :background "aqua"))) 

鉤然後添加到您選擇的模式:

(add-hook 'python-mode-hook 
      (lambda() 
      (face-remap-add-relative 'default 'my-special-face)))