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

How to search using wildcard in VIM

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

示例:

我有一个数组,我想找到分配数组索引的任何位置。

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

我正在寻找与

类似的东西
/array*=

如果可能的话。

我认为您误解了通配符的工作原理。它不匹配 0 个或多个字符,它匹配前面原子 的 0 个或多个 ,在本例中为 y。所以搜索

/array*=

将匹配以下任何一项:

arra=
array=
arrayyyyyyyy=

如果要匹配 0 个或多个任意字符,请使用 'dot' 原子,它将匹配换行符以外的任何字符。

/array.*=

如果你想要更强大的东西,我会推荐:

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

这是 "array" 后跟 0 个或多个空格,然后是括号中包含的任何内容,后跟 0 个或多个空格,然后是 "equals" 符号。

尝试

array.*

.* 使它有意义或 nothing.in array* , * 转到 y .