国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

linux下vim多文件查找與替換教程

2024-08-27 23:59:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在Linux系統(tǒng)上,我們可以在vim中使用find,sed,grep,awk,perl等shell命令來(lái)操作多文件查找及多文件替換,下面來(lái)看具體內(nèi)容.

在linux平臺(tái)上,有很多優(yōu)秀的shell命令組合來(lái)做多文件查找/替換,比如這些命令:find,sed,grep,awk,perl,但其他平臺(tái)比如windows上就沒(méi)那么方便了,這時(shí)候vim內(nèi)置的多文件查找命令就有用武之地了,雖然比起外部命令來(lái)稍微慢了一點(diǎn)點(diǎn)兒.

vim 多文件查找

這個(gè)vim內(nèi)置命令就是vimgrep,有兩種基本的使用方式:

  1. :vim[grep][!] /{pattern}/[g][j] {file} ... 
  2. :vim[grep][!] {pattern} {file} ... 

file部分支持通配符,*代表當(dāng)前目錄,**代表當(dāng)前目錄及其子目錄(遞歸),比如*/*.c代表當(dāng)前目錄下的c源程序文件,**/*.c代表當(dāng)前目錄及其遞歸子目錄下的所有源程序文件,file部分可以指定多次,以下命令查看匹配結(jié)果:

  1. :cn[ext] 下一個(gè)結(jié)果 
  2. :cp[revious] 上一個(gè)結(jié)果 
  3. :cw[indow] quickfix窗口,結(jié)果文件列表 

更詳細(xì)的用法參見:help vimgrep 和下面的refs.

vim 多文件替換

實(shí)際上只要如下兩個(gè)命令即可,假設(shè)要將當(dāng)前目錄下所有擴(kuò)展名為.txt/.cpp的文件中的hate替換成love:

  1. :args *.txt *.cpp :argdo %s/hate/love/gc | update 
  2. //Vevb.com 
  3. :args *.txt *.cpp 
  4. :argdo %s/hate/love/gc | update 

就可以完成啦,解釋如下:

  1. :args *.txt *.cpp 
  2.  
  3. :args *.txt *.cpp 

這樣寫會(huì)掃描當(dāng)前目錄下的.txt 和 .cpp文件,并加入到參數(shù)列表,但是這樣寫只會(huì)稻苗當(dāng)前目錄,如果想要遞歸掃描所有下級(jí)目錄的話,用:

  1. :args **/*.txt 
  2.  
  3. :args **/*.txt 

如果只想掃描下一級(jí)目錄,即不掃描當(dāng)前目錄的話,用:

  1. :args */*.txt 
  2.  
  3. :args */*.txt 
  4.  
  5. //而 
  6.  
  7. :argdo %s/hate/love/gc | update 
  8.  
  9. :argdo %s/hate/love/gc | update 

是將參數(shù)列表中的所有文件的hate提換成love,并寫入硬盤,如果沒(méi)有|update,就不會(huì)寫入,但相應(yīng)的替換也會(huì)被中斷.

最后強(qiáng)調(diào)一點(diǎn),使用替換命令的時(shí)候,一定記得備份,因?yàn)樘鎿Q是直接寫入硬盤滴哦……

好啦,希望這篇文章對(duì)大家有用~

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汨罗市| 桂东县| 南江县| 九龙坡区| 遂川县| 阿坝| 大方县| 大埔区| 诸暨市| 庄河市| 鄂托克旗| 金坛市| 湖北省| 太谷县| 桃源县| 鄂尔多斯市| 吴江市| 阿坝| 科技| 香港| 武乡县| 台安县| 商河县| 梨树县| 浦城县| 祥云县| 福清市| 璧山县| 同仁县| 正镶白旗| 聂拉木县| 五河县| 荣昌县| 上犹县| 襄城县| 太谷县| 武夷山市| 石林| 海伦市| 庄浪县| 临西县|