Vim正常背景改变前景文本颜色

时间:2016-07-28 05:43:29

标签: vim

我试图在我的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位颜色。

我很感激帮助!

1 个答案:

答案 0 :(得分:0)

这种行为是正常的,预期的,并在:hi-normal-cterm中解释。

基本上,background选项的值用于为不同的突出显示组定义一组默认颜色,并且每当您更改Normal突出显示组时,都会重新定义该选项。

要强制background的值,请将此行添加到colorscheme:

set background=dark

或:

set background=light

此外,没有任何理由将set t_Co=256放在任何vim脚本中。