我试图在我的vim
主题中标准化终端颜色,我发现了一些关于Vim如何根据背景颜色处理前景文字颜色的奇怪行为。
考虑这个非常简单的if exists("syntax_on")
syntax reset
endif
set t_Co=256
highlight Normal ctermfg=NONE ctermbg=234 cterm=NONE
highlight PreProc ctermfg=197 ctermbg=NONE cterm=NONE
主题:
Normal
它不是很漂亮(作为一个简单的例子),但它看起来像这样:
如果我将一行设置ctermbg=NONE
更改为highlight Normal ctermfg=NONE ctermbg=NONE cterm=NONE
,请执行以下操作:
vim
我得到的东西看起来像这样:
如您所见,背景明显改变(如预期的那样),但前景色也会改变。
为什么在print(np.dot(np.transpose(weights[-1]), delta))
中更改此属性会导致此行为?如何在不更改前景色的情况下删除背景?
我在OS X中使用默认终端,启用了256位颜色。
我很感激帮助!
答案 0 :(得分:0)
这种行为是正常的,预期的,并在:hi-normal-cterm
中解释。
基本上,background
选项的值用于为不同的突出显示组定义一组默认颜色,并且每当您更改Normal
突出显示组时,都会重新定义该选项。
要强制background
的值,请将此行添加到colorscheme:
set background=dark
或:
set background=light
此外,没有任何理由将set t_Co=256
放在任何vim脚本中。