天天看點

VIM在檔案夾中查找

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

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

 :?

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

 這裡要解決的是在别的檔案中,也許這個檔案還沒有打開,或者需要在多個檔案中操作,比如在目前檔案夾下面所有.c的檔案中查找,或者在莫個檔案夾中查找。這些情況下,我們可以使用 vimgrep或者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

來檢視。