我的.vimrc的以下片段以灰色阴影突出显示了行尾的多余空白:
autocmd Syntax * syntax match MySpace /\s\+$/
autocmd ColorScheme * highlight MySpace ctermbg=238
但是当这个空格已经被语法组匹配时,这不起作用。例如,不标记各种类型注释中的尾随空格。
本手册讨论了语法组的contains=ALL
选项,但似乎没有类似的containedin=ALL
。我可以以任何方式模仿它吗?我可以提出的唯一方法是在containedin=
的{{1}}选项中列出所有相关的语法组,这显然是单调乏味而且不是很优雅。
答案 0 :(得分:1)
不知道如何使用Syntax
执行此操作,但您可以使用listchars选项突出显示尾随空格。
来自我的.vimrc
:
" List chars
set listchars="" " Reset the listchars
set listchars+=tab:\|\ " show tabs as "|"
set listchars+=nbsp:· " show non-breaking spaces as "·"
set listchars+=trail:· " show trailing spaces as "·"
set listchars+=precedes:«
set listchars+=extends:»
答案 1 :(得分:0)
您应该使用:match
命令(或matchadd()
),如Vim Tips Wiki article中有关此特定主题的说明。
如果你想要一个现成的解决方案,你也可以尝试my ShowTrailingWhitespace plugin,或插件页面上列出的其中一个替代方案。