我想突出显示 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\+$/
当我打开文件时,仅突出显示尾随空格。如果我交换两个突出显示/匹配对的顺序,则仅突出显示超长的行。我需要更改什么才能使两种模式匹配并突出显示?
最佳答案
:match
命令只能有一种事件模式。如果两个亮点都使用相同的颜色,则可以将图案与 \|
组合起来。在这里,您必须使用两个替代命令之一::2match
或 :3match
,或者您可以使用(较新的)matchadd()
函数,您可以在其中指定任意数字 (> 3
) 作为(最后一个){id}
参数。
:call matchadd('OverLength', '\%>80v.\+', 10, 4)
:call matchadd('ExtraWhitespace', '\s\+$', 10, 5)
关于vim - 如何使两个用户定义的突出显示一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19451704/