我正在尝试使用vim的正则表达式引擎来突出显示@而没有任何单词字符,例如:
The @ matches
The@does not match.
我要么匹配所有@s,要么我只匹配@s与周围的空白(意味着在行的开头没有匹配。
似乎vim并没有以非常严格的方式遵循正则表达式标准,这在编写语法文件时令人沮丧。
答案 0 :(得分:3)
我认为vim中的正则表达式非常强大,即使语法有时有点奇怪。
以下作为示例输入:
@ foo
foo @ bar
foo @
foo@bar
这一行:(由/
(搜索)引导)
/\v(^| )\zs\@\ze($| )
匹配1-3行中的@
,但不匹配第4行。
您也可以考虑使用\s
代替space
。