我在 .vimrc 中有这两个 autocmd 配置
autocmd FileType python highlight OverLength ctermbg=red ctermfg=white guibg=red
autocmd FileType python match OverLength /\%80v.\+/
autocmd FileType python highlight ExtraWhitespace ctermbg=blue guibg=blue
autocmd FileType python match ExtraWhitespace /\s\+$/
第一个将以红色背景显示行中大于 80 个字符的部分。
同时,第二个将以蓝色显示行尾的额外空白。
问题是,他们不能一起工作!
如果我同时启用它们,则只有第二个ExtraWhitespace
有效。
但如果我注释掉ExtraWhitespace
,OverLength
就可以正常工作了。
为什么会发生这种情况,如何解决?
答案1
用于:2match
第二个(请参阅:help :2match
详细信息,并注意:3match
用于matchparen
插件):
autocmd FileType python highlight OverLength ctermbg=red ctermfg=white guibg=red
autocmd FileType python match OverLength /\%80v.\+/
autocmd FileType python highlight ExtraWhitespace ctermbg=blue guibg=blue
autocmd FileType python 2match ExtraWhitespace /\s\+$/