2010-06-22 89 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)))