VIM搜索以“&”符号开头的字符

3
我需要搜索类似于&variable的内容(并将其替换为&variable.test)。 我可以使用\&variable,但vim还会显示所有以&variable开头的字符(例如&variableXXX),而我不想要这些字符。 我认为这个命令 - /\<\&variable\>应该可以起作用,请告诉我哪里出了问题。
2个回答

6
第一个问题是,\&不是字面上的&,它是一种匹配vim分支的特殊正则表达式。要匹配字面上的&,只需使用&即可。
第二个问题是,\<通过查看下一个字符是否为关键字来匹配关键字的开头。然而,&通常不是关键字,因此始终失败。
要解决这个问题,您可以将&作为关键字来处理。
set iskeyword+=&

然后,您可以使用正则表达式 \<&variable\> 来匹配您想要的内容。
相关帮助页面::h iskeyword:h /\<:h \&

1
短答案:使用/&variable\>
你不需要在&前面加上\。请参阅help \&
你的\<放错了位置 - 它应该在&后面,而不是之前,因为&不是关键字字符(:help keyword)。
实际上,你根本不需要\<。你可以搜索&variable\>,你会找到&variable但不会找到&variableXXX。你不必仅仅因为使用\>就要使用\<

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接