日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Linux使用vim進(jìn)行多文件查找和替換的方法

vim是Linux系統(tǒng)下常用的文本編輯,通過使用多種shell命令能夠?qū)崿F(xiàn)多文件的查找和替換,那么具體會(huì)使用到那些命令呢?下面小編就給大家介紹下Linux系統(tǒng)vim多文件查找和替換的方法 。

Linux使用vim進(jìn)行多文件查找和替換的方法


在linux平臺(tái)上,有很多優(yōu)秀的shell命令組合來做多文件查找/替換,比如這些命令:find,sed,grep,awk,perl 。但其他平臺(tái)比如windows上就沒那么方便了,這時(shí)候vim內(nèi)置的多文件查找命令就有用武之地了,雖然比起外部命令來稍微慢了一點(diǎn) 。
vim 多文件查找
這個(gè)vim內(nèi)置命令就是vimgrep,有兩種基本的使用方式:
:vim[grep][?。?/{pattern}/[g][j] {file}。。。
:vim[grep][?。?{pattern} {file}。。。
file部分支持通配符,*代表當(dāng)前目錄,**代表當(dāng)前目錄及其子目錄(遞歸),比如*/*.c代表當(dāng)前目錄下的c源程序文件,**/*.c代表當(dāng)前目錄及其遞歸子目錄下的所有源程序文件 。file部分可以指定多次 。
以下命令查看匹配結(jié)果:
:cn[ext] 下一個(gè)結(jié)果
【Linux使用vim進(jìn)行多文件查找和替換的方法】 :cp[revious] 上一個(gè)結(jié)果
:cw[indow] quickfix窗口,結(jié)果文件列表
更詳細(xì)的用法參見:help vimgrep 和下面的refs 。
vim 多文件替換
實(shí)際上只要如下兩個(gè)命令即可(假設(shè)要將當(dāng)前目錄下所有擴(kuò)展名為.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
這樣寫會(huì)掃描當(dāng)前目錄下的.txt 和 .cpp文件,并加入到參數(shù)列表 。但是這樣寫只會(huì)稻苗當(dāng)前目錄,如果想要遞歸掃描所有下級(jí)目錄的話,用
:args **/*.txt
:args **/*.txt
如果只想掃描下一級(jí)目錄(即不掃描當(dāng)前目錄)的話,用
:args */*.txt
:args */*.txt

:argdo %s/hate/love/gc | update
:argdo %s/hate/love/gc | update
是將參數(shù)列表中的所有文件的hate提換成love,并寫入硬盤(如果沒有|update,就不會(huì)寫入,但相應(yīng)的替換也會(huì)被中斷) 。
最后強(qiáng)調(diào)一點(diǎn),使用替換命令的時(shí)候,一定記得備份,因?yàn)樘鎿Q是直接寫入硬盤 。
上面就是Linux系統(tǒng)vim多文件查找和替換的方法介紹了,通過find,sed等命令能夠?qū)崿F(xiàn)多文件的相關(guān)處理,你也可使用vim內(nèi)置的多文件查找命令 。

    推薦閱讀