15

在这个 Vim 屏幕截图中,您可以看到,当将光标移到一行上时,它会将空白字符(如左侧所示)的正常颜色从灰色变为黑色。无论光标位置如何,我可以停止它并让它们始终显示灰色吗?

在此处输入图像描述

我已经尝试在配色方案中设置这些但没有运气:

hi SpecialKey  guibg=bg  guifg=#CCCCCC gui=none
hi NonText     guibg=bg  guifg=#CCCCCC gui=none
4

4 回答 4

3

您可以使用:match突出显示选项卡。

:match NonText '^\s\+'

这似乎覆盖了光标线。当然使用会更好,matchadd()但它似乎被光标线覆盖。可能有办法让它工作

于 2013-04-15T15:11:58.083 回答
1

.vimrc 中的以下几行为我解决了这个问题。

au VimEnter * call matchadd('SpecialKey', '^\s\+', -1)
au VimEnter * call matchadd('SpecialKey', '\s\+$', -1)

它覆盖了光标行内制表符和尾随空格的其他样式应用程序。

于 2017-08-10T00:02:47.250 回答
0

是的你可以。从:help listchars(最后):

“NonText”突出显示将用于“eol”、“extends”和“precedes”。“nbsp”、“tab”和“trail”的“SpecialKey”。

有了这些知识,你可以相应地修改你的配色方案或highlight在你的 vimrc 中添加一个调用。

于 2011-11-23T21:36:19.097 回答
-1

我相信您设置了“光标线”。高亮组定义相同的CursorLine高亮。你set nocursorline,(可以加快线条移动)或更改CursorLine高亮组 fg 颜色。

于 2014-04-01T11:22:39.147 回答