我想强调Vim
中的超长行(例如:https://stackoverflow.com/a/235970/1329844)以及尾随空格(例如:https://stackoverflow.com/a/4617156/1329844)。但是,每当我使用两个高光时,只应用最后一个。
我的.vimrc
中有以下代码:
highlight OverLength ctermbg=0 ctermfg=197
match OverLength /\%>80v.\+/
highlight ExtraWhitespace ctermbg=0
match ExtraWhitespace /\s\+$/
当我打开文件时,只会突出显示尾随空格。如果我交换两个高亮/匹配对的顺序,则只突出显示超长线。我需要更改什么才能使两个模式匹配并突出显示?
答案 0 :(得分:3)
:match
命令只能有一个活动模式。如果两个高光使用相同的颜色,则可以将模式与\|
组合。在这里,您必须使用两个备选命令之一::2match
或:3match
,或者您可以使用(较新的)matchadd()
函数,您可以在其中指定任意数字(> 3
)作为(最后一个){id}
参数。
:call matchadd('OverLength', '\%>80v.\+', 10, 4)
:call matchadd('ExtraWhitespace', '\s\+$', 10, 5)
答案 1 :(得分:2)
我认为,Ingos解决方案是首选,但是,你可以使用它:
:match MyCustomHighlight /\%(\s\+$\)\|\(\%>30v.\+\)/
:highlight MyCustomHighlight ctermbg=0 ctermfg=197