如何使用set list突出显示其他不可见的字符,除非这些字符是制表符?

时间:2013-09-07 18:20:07

标签: vim

我想使用set list,但除了标签外,所以标签看起来就像空格一样。

这是我目前的配置,但标签仍然有不同的背景颜色:

set list
set listchars=tab:\ \ ,eol:#,trail:~

Screenshot

我不希望突出显示标签,但我确实希望突出显示尾随空格和EOL。我怎么能这样做? (我可以编辑颜色方案,但这感觉就像一个丑陋的黑客。)

1 个答案:

答案 0 :(得分:3)

我认为你不能那样做。

'listchars'州的帮助

  

“非文本”突出显示将用于“eol”,“extends”和“precedes”。
  “SpecialKey”代表“nbsp”,“tab”和“trail”。

也就是说

  • tabtrail获得SpecialKey突出显示
  • eol获得NonText突出显示
  • 空格获得Normal突出显示

您可以随意使用:hi以任意方式链接这些突出显示组,但据我所知,您无法更改其所属的突出显示组。请参阅:h :hi-link

:set listchars+=tab:\ \ 
:hi! link SpecialKey Normal