我一直在使用vim(7.4)中的匹配功能,我发现匹配和matchadd之间存在一些我无法弄清楚的差异。
我使用的模式很简单,可以匹配特定行和列的某些文本。
如果我尝试以下操作,它会起作用并突出显示文字:
:match Test /\%2l\%>4v\%<7v/
如果我尝试以下操作则不会:
:call matchadd('Test','/\%2l\%>4v\%<7v/')
'测试'在这里是任何突出组。
然而,更简单的模式可以正常工作,例如::call matchadd('Test','test')
非常感谢任何解释或帮助。
答案 0 :(得分:6)
从正则表达式中删除/
。在使用matchadd()
或任何vim函数时,您不需要分隔符。
call matchadd('Test','\%2l\%>4v\%<7v')