vim 查詢多個檔案, 替換

2021-08-04 08:39:33 字數 893 閱讀 6184

1、多檔案查詢 

1.1、grep 

直接在vim中輸入:grep abc * 這是直接呼叫unix下的grep命令 

1.2、vimgrep 

基本用法就是

:vimgrep /匹配模式/[g][j] 要搜尋的檔案/範圍 

:vim[grep][!] //[g][j] ...

g 和 j 是兩個可選的標誌位,g表示是否把每一行的多個匹配結果都加入。j表示是否搜尋完後定位到第乙個匹配位置。

要搜尋的檔案 可以是具體的檔案路徑,也可以是帶萬用字元的路徑比如 *.as **/*.as ,**表示遞迴所有子目錄。 要搜尋的檔案和或搜尋範圍都可 以寫多個,用空格分開。

例子::vimgrep /\/ **/*.as 搜尋當前目錄以及所有子目錄內as檔案中的 "flash"

:vimgrep /an error/ *.c 就是在所有的.c檔案中搜尋an error。

:vimgrep/an error/* 意思是查詢當前目錄下的檔案中的an error,不包括子目錄

1.3、定位 

輸入上述的命令後,可以像輸入:make命令,那樣定位匹配到的檔案位置 

:cnext (:cn)           下乙個匹配位置

:cprevious (:cp)     上乙個匹配位置

:cwindow (:cw)     quickfix視窗,可以選擇匹配的檔案位置

:cl(:clist)                檢視所有匹配的位置

2、多檔案替換(arg) 

a、加入要處理的檔案  :args *.txt

b、輸入對上述檔案的動作  :argdo %s/hate/love/gc | update  (這裡將hate替換成love,update表示要寫入到檔案中,否則只作替換而不寫入)

VIM 多檔案查詢替換

1 多檔案查詢 1.1 grep 直接在vim中輸入 grep abc 這是直接呼叫unix下的grep命令 1.2 vimgrep 基本用法就是 vimgrep 匹配模式 g j 要搜尋的檔案 範圍 vim grep g j g 和 j 是兩個可選的標誌位,g表示是否把每一行的多個匹配結果都加入。...

Vim 查詢替換

查詢 向下查詢 向上查詢 n 繼續向下查詢 n 繼續向上查詢 下面 語法為 addr s 源字串 目的字串 option 全域性替換命令為 s 源字串 目的字串 g addr 表示檢索範圍,省略時表示當前行。如 1,20 表示從第1行到20行 表示整個檔案,同 1,從當前行到檔案尾 s 表示替換操作...

vim查詢替換

vim查詢替換 2014 04 21 11 23 40 分類 linux s vivian sky 替換當前行第乙個 vivian 為 sky s vivian sky g 替換當前行所有 vivian 為 sky n,s vivian sky 替換第 n 行開始到最後一行中每一行的第乙個 vivi...