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

时间:2013-07-17 17:37:36

标签: vim

我必须搜索&variable之类的内容(并替换为&variable.test)。我可以\&variable,但是vim还会向我显示所有以&variable开头的字符(例如&variableXXX),这是我不想要的。我认为 - /\<\&variable\>会起作用,请告诉我哪里出错了。

2 个答案:

答案 0 :(得分:6)

第一个问题是\&不是文字&,它是与vim中的分支匹配的特殊正则表达式匹配。要匹配文字&,只需使用&

第二个问题是\<通过查看下一个字符是否是关键字来匹配关键字的开头。但是&通常不是关键字,因此始终失败。

要解决此问题,您可以通过

使&成为关键字
set iskeyword+=&

然后,您可以使用正则表达式\<&variable\>来匹配您想要的内容。

相关帮助页面:h iskeyword:h /\<:h \&

答案 1 :(得分:1)

简答:使用/&variable\>

您不希望\位于&前面。请参阅help \&

您的\<位置错误 - 它属于&之后,而不是之前,因为&不是关键字字符(:help keyword)。

事实上,您根本不需要\<。您可以搜索&variable\>,但会找到&variable,但不会找到&variableXXX。您不必仅因为使用\<而使用\>