係統粉 > 係統教程 > 電腦軟件教程

Linux怎麼使用vim進行多文件查找和替換 詳解Linux使用vim進行多文件查找和替換

發布時間:2017-07-04 14:43:41    瀏覽數:

今天給大家帶來Linux怎麼使用vim進行多文件查找和替換,詳解Linux使用vim進行多文件查找和替換,讓您輕鬆解決問題。

  vim是Linux係統下常用的文本編輯,通過使用多種shell命令能夠實現多文件的查找和替換,那麼具體會使用到那些命令呢?下麵小編就給大家介紹下Linux係統vim多文件查找和替換的方法。

  在linux平台上,有很多優秀的shell命令組合來做多文件查找/替換,比如這些命令:find,sed,grep,awk,perl。但其他平台比如windows上就沒那麼方便了,這時候vim內置的多文件查找命令就有用武之地了,雖然比起外部命令來稍微慢了一點。

  vim 多文件查找

  這個vim內置命令就是vimgrep,有兩種基本的使用方式:

  :vim[grep][!] /{pattern}/[g][j] {file} 。。。

  :vim[grep][!] {pattern} {file} 。。。

  file部分支持通配符,*代表當前目錄,**代表當前目錄及其子目錄(遞歸),比如*/*.c代表當前目錄下的c源程序文件,**/*.c代表當前目錄及其遞歸子目錄下的所有源程序文件。file部分可以指定多次。

  以下命令查看匹配結果:

  :cn[ext] 下一個結果

  :cp[revious] 上一個結果

  :cw[indow] quickfix窗口,結果文件列表

  更詳細的用法參見:help vimgrep 和下麵的refs。

  vim 多文件替換

  實際上隻要如下兩個命令即可(假設要將當前目錄下所有擴展名為.txt/.cpp的文件中的hate替換成love):

  :args *.txt *.cpp :argdo %s/hate/love/gc | update

  :args *.txt *.cpp

  :argdo %s/hate/love/gc | update

  完成,解釋如下:

  :args *.txt *.cpp

  :args *.txt *.cpp

  這樣寫會掃描當前目錄下的.txt 和 .cpp文件,並加入到參數列表。但是這樣寫隻會稻苗當前目錄,如果想要遞歸掃描所有下級目錄的話,用

  :args **/*.txt

  :args **/*.txt

  如果隻想掃描下一級目錄(即不掃描當前目錄)的話,用

  :args */*.txt

  :args */*.txt

  而

  :argdo %s/hate/love/gc | update

  :argdo %s/hate/love/gc | update

  是將參數列表中的所有文件的hate提換成love,並寫入硬盤(如果沒有|update,就不會寫入,但相應的替換也會被中斷)。

  最後強調一點,使用替換命令的時候,一定記得備份,因為替換是直接寫入硬盤。

  上麵就是Linux係統vim多文件查找和替換的方法介紹了,通過find,sed等命令能夠實現多文件的相關處理,你也可使用vim內置的多文件查找命令。

以上就是Linux怎麼使用vim進行多文件查找和替換,詳解Linux使用vim進行多文件查找和替換教程,希望本文中能幫您解決問題。

上一篇:mathtype6.9無法輸入中文如何解決 mathtype6.9輸入中文的方法 下一篇:係統之家如何可以正確卸載windows7 IE 8瀏覽器 係統之家正確卸載windows7 IE 8瀏覽器的步驟

電腦軟件相關教程