3

我必须搜索类似的东西&variable(并替换为&variable.test)。我可以这样做,但 vim 也会向我显示所有以(例如)\&variable开头的字符,这是我不想要的。我认为这 -会工作,请让我知道我哪里出错了。&variable&variableXXX/\<\&variable\>

4

2 回答 2

6

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

第二个问题是\<通过查看下一个字符是否是关键字来匹配关键字的开头。然而&,通常不是关键字,所以它总是失败。

为了解决这个问题,你可以&通过做一个关键字

set iskeyword+=&

然后你可以使用正则表达式\<&variable\>来匹配你想要的东西。

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

于 2013-07-17T18:11:46.287 回答
1

简短的回答:使用/&variable\>.

你不\希望&. 见help \&

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

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

于 2013-07-18T06:23:20.993 回答