2016-12-14 77 views
6

在VIM中使用標準搜索功能(/),是否有使用通配符進行搜索的方法(匹配0個或多個字符)?如何在VIM中使用通配符搜索

例子:

我有一個數組,我想找到的任何地方數組的索引分配。

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

我在尋找沿

/array*= 

,如果有可能的東西線。

回答

10

我認爲你誤解了通配符的工作原理。它不匹配0個或更多字符,它匹配前面的原子的0個或更多個,在本例中爲y。如果你想匹配0或多個任意字符,請使用「點」原子,這將任何字符匹配除換行符以外

arra= 
array= 
arrayyyyyyyy= 

:所以搜索

/array*= 

將匹配任何這些。

/array.*= 

如果你想要的東西更強大的,我會建議:

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

這是「陣列」後跟0或多個空格,其次是包含在括號任何東西,其次是0個或多個空白,後面跟着一個「等號」符號。