在Emacs 24.x中控制ansi-term中缓冲区和文本的背景颜色

时间:2012-09-21 17:32:53

标签: emacs terminal emacs24 ansi-term

我正在运行Emacs 24.1。在我的.emacs启动文件中,我有以下行:

(load-theme 'tango-dark t)

但是,当我运行一个ansi-term终端时,背景颜色效果不佳:

enter image description here

有趣的是,对于目录,背景颜色似乎是正确的,而对于某些文件,背景颜色为黑色(即使缓冲区的背景颜色为深灰色)。

我想要:

1:缓冲区的背景颜色与文本的背景颜色相匹配(本例中为黑色)

2:文本的背景颜色与缓冲区的背景颜色相匹配(本例中为深灰色),在这种情况下由探戈暗配置。

我该怎么做? (两种可能性的答案都是理想的)

1 个答案:

答案 0 :(得分:1)

由于Emacs 24内置了主题机制,它与之前用于同一目的的color-theme库略有不同,但它非常相似。

我认为发生的事情是,在应用终端颜色的设置之前,主题已初始化,或者,可能是旧主题用于设置此颜色,而新主题则不是。

本质上,主题是面孔的集合,主题的作者认为你可能会使用这些面孔(因此你可以将未在Emacs中内置的面部置于主题中)。但是,主题也可以设置其他内容,因此它可以使用custom-theme-set-variables设置终端背景颜色,或者之前用来做这个,但不再是。

在任何情况下,您都应始终通过自定义面部本身(将覆盖主题设置)或自定义主题来自定义该面部。您可以使用 Mx customize-face RET default RET 进行第一次,第二次使用 Mx customize-theme RET tango-dark RET