Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用 vim 的正则表达式引擎来语法高亮 @ 而没有任何与之相邻的单词字符,例如:
The @ matches The@does not match.
我要么匹配所有@s,要么只匹配@s 与周围的空格(意味着行首的那些不匹配。
看起来 vim 实际上并没有以非常严格的方式遵守正则表达式标准,这在编写语法文件时令人沮丧。
我觉得 vim 中的正则表达式非常强大,尽管有时语法有点奇怪。
给出以下作为示例输入:
@ foo foo @ bar foo @ foo@bar
这一行:(由/(搜索)引导)
/
/\v(^| )\zs\@\ze($| )
匹配@1-3 行,但不匹配第 4 行。
@
你可以考虑使用\s而不是space太。
\s
space