国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 永康市| 冀州市| 中方县| 舟曲县| 固安县| 社会| 靖江市| 景宁| 南昌市| 务川| 商城县| 合川市| 丘北县| 苗栗县| 广宗县| 盘锦市| 额济纳旗| 安图县| 凉山| 新竹县| 肥东县| 彭阳县| 濉溪县| 怀化市| 教育| 无棣县| 安西县| 双辽市| 瑞金市| 化州市| 新安县| 黑河市| 江阴市| 苏州市| 玛沁县| 元氏县| 万年县| 达孜县| 娱乐| 浦县| 梅河口市|