如何在VIM中使用通配符进行搜索

27

使用VIM中的标准搜索功能(/),是否有一种方法可以使用通配符(匹配0个或多个字符)进行搜索?

例如:

我有一个数组,我想查找任何地方分配了数组的索引。

array[0] = 1;
array[i] = 1;
array[index]=1;

等等。

我正在寻找类似于:

/array*=

如果可能的话。

2个回答

38

我认为你误解了通配符的工作方式。它不是匹配0个或多个字符,而是匹配0个或多个前一个原子,在这种情况下是y。因此搜索:

/array*=

将匹配其中任何一个:

arra=
array=
arrayyyyyyyy=

如果你想匹配0个或多个任意字符,可以使用“点”原子,它将匹配除换行符之外的任何字符。

/array.*=

如果你想要更加健壮的功能,我建议使用:

/array\s*\[[^\]]\+\]\s*=

这是一个由“array”和0或多个空格组成的字符串,后面跟着包含在括号中的任何内容,然后是0或多个空格,最后是一个“等于号”。


0

尝试

array.*

在数组中,* 可以使其有意义或无意义。* 会跳转到 y。


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