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

Jim*_*y P 14 vim search wildcard

使用VIM中的标准搜索功能(/),有没有办法使用通配符搜索(匹配0个或更多字符)?

例:

我有一个数组,我想找到分配数组索引的任何地方.

array[0] = 1;
array[i] = 1;
array[index]=1;
Run Code Online (Sandbox Code Playgroud)

等等

我正在寻找一些类似的东西

/array*=
Run Code Online (Sandbox Code Playgroud)

如果它是可能的.

DJM*_*hem 16

我认为你误解了通配符是如何工作的.它与0或更多字符不匹配,它匹配前面原子的 0或更多,在这种情况下是y.所以搜索

/array*=
Run Code Online (Sandbox Code Playgroud)

将匹配以下任何一个:

arra=
array=
arrayyyyyyyy=
Run Code Online (Sandbox Code Playgroud)

如果要匹配任何字符的0或更多,请使用'dot'原子,它将匹配除换行符之外的任何字符.

/array.*=
Run Code Online (Sandbox Code Playgroud)

如果你想要更强大的东西,我会建议:

/array\s*\[[^\]]\+\]\s*=
Run Code Online (Sandbox Code Playgroud)

这是"数组"后跟0或更多的空格,后跟括号中的任何内容,后跟0或更多的空格,后跟"等号"符号.