如何停止 vim colorscheme 对可见制表符使用错误的颜色

How to stop vim colorscheme using wrong colours for visible tab characters

在我的 vim 设置中,我有 set list 显示的不可见字符。我正在使用 solarized dark 主题,但改变主题我仍然遇到同样的问题,有时甚至更糟! 制表符显示出与背景不同的颜色。

我该如何阻止这种行为,因为这种效果本应是微妙的,但效果却非常强烈!

:help 'listchars' 说明:

The "NonText" highlighting will be used for "eol", "extends" and
"precedes".  "SpecialKey" for "nbsp", "space", "tab" and "trail".
|hl-NonText| |hl-SpecialKey|

所以,让你烦恼的是SpecialKey高亮组的背景颜色。 (除非你使用一些特殊的缩进突出显示插件,但你会告诉我们的,对吧?)

要解决此问题,只需在 ~/.vimrc 中的 :colorscheme 命令后重新定义高亮组。例如清除背景颜色:

:highlight SpecialKey ctermbg=NONE guibg=NONE