天天看點

VIM在檔案夾中查找

在vim中提供2中方法來在其他檔案或者檔案夾中搜尋字元串,第一種是vimgrep還有一種是grep。

如果隻是在目前打開的檔案中查找字元串的,使用

:?

後面加上想要搜尋的字元串就可以。

這裡要解決的是在别的檔案中,也許這個檔案還沒有打開,或者需要在多個檔案中操作,比如在目前檔案夾下面所有.c的檔案中查找,或者在莫個檔案夾中查找。這些情況下,我們可以使用imgrep或者grep。這裡隻介紹vimgrep。

這是個vim的内部指令,因為可以在vim内部直接使用,

:vimgrep

這個指令還可簡寫為vim

:vim

用例1 

在目前檔案夾下面所有.c檔案中查找字元串 classa

:vimgrep /classa/gj ./*.c

解釋一下:

g: 如果一行中出現多處,隻顯示一次,沒有g就會出現多次

j: 隻是列出所有比對的行,沒有j那麼就會跳去第一個比對的行

用例2 在目前檔案夾及其子檔案夾下面查找字元串classa

:vimgrep /classa/gj **/*.*

搜尋完畢後可以使用copen或者cw指令來打開搜尋的結果。使用jk來移動選中行,回車可以跳到對應的檔案。

copen後面可以指定視窗的高度。

注意當去到搜到到的檔案後,目前的視窗會被該檔案覆寫,那麼怎麼回到原來的檔案,

ctrl+^

更多的資訊可以使用

:help vimgrep

來檢視。