我在改变ansi-term中的背景颜色时遇到了问题(还有术语 - 但是shell很好)。它从输出中显示精细的颜色,但输出的背景颜色始终为白色。不是整个缓冲区,而是在已输出的实际字符下。如果我做了像
这样的事情(add-hook 'ansi-term-mode-hook
(lambda ()
(set-background-color "purple")))
这会更改缓冲区的背景颜色,但输出会使用自己的背景颜色覆盖它 - 白色。
我也试图找到它正在使用的脸部,所以我可以通过C-u C-x =
来定制脸部的信息 - 这适用于其他一切,甚至指向你的位置改变它很好......但是在ansi术语中我得到了这个
character: m (109, #o155, #x6d)
preferred charset: ascii (ASCII (ISO646 IRV))
code point: 0x6D
syntax: w which means: word
category: .:Base, a:ASCII, l:Latin, r:Roman
buffer code: #x6D
file code: #x6D (encoded by coding system utf-8)
display: by this font (glyph code)
xft:-unknown-DejaVu Sans Mono-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1 (#x50)
Character code properties: customize what to show
name: LATIN SMALL LETTER M
general-category: Ll (Letter, Lowercase)
There are text properties here:
face (:background "white" :foreground "black")
[back]
我不知道这是设置的地方。 面部(:背景“白色”:前景“黑色”)
另外,我使用了多个主题,我知道它们有ansi-term-color-vector(zenburn等)。我已经浏览了自定义面中的每个样本,也没有在那里。
关于如何覆盖/设置它的任何想法,所以它只是透明(或未设置)背景,就像其他一切一样?
感谢您的帮助。
答案 0 :(得分:8)
我不确定我是否理解您的设置中发生了什么,但您可以尝试设置:
(setq term-default-bg-color "#211E1E")
(setq term-default-fg-color "#AAAAAA")
从头开始尝试缓冲区开始一个新术语并检查。
答案 1 :(得分:2)
user178399 的回复在 10 年前完全正确。从 v24.3 开始,这对变量已被弃用,以支持自定义 term
面。事实上,在 Emacs 25.6(Debian 10 发行版,x64)中,设置这些变量不再有任何影响,而改变面孔却有。
如果(或者更确切地说,因为变量已经损坏,至少在这里),不要忘记从您的 init 文件(通常是 ~/.emacs
)中删除它们的设置或重置它们的自定义。
提醒一下,如果您正在寻找为什么默认的前台/后台设置在升级后突然变得愤怒和不服从...
令我困惑的是,我仍然需要更改钩子中 ansi-term 缓冲区的背景以匹配 term
脸的背景,就像 10 年前 OP 所做的那样,以免我得到这个。输,输!
哦,现在有了 Emacs.SE,这是一个更好的针对 Emacs 相关问题的地方。