1. 程式人生 > 實用技巧 >使用vim在多個檔案中進行查詢和替換

使用vim在多個檔案中進行查詢和替換

在程式開發過程中,我們通常都會對多個檔案中的某個字串進行查詢和替換,vim為我們提供了這個功能,首先我們需要安裝nelstrom/vim-qargs外掛,具體安裝這裡不做介紹,有時間的話會專門寫一篇文章介紹如何安裝vim外掛以及vim的配置。這裡假設你已經安裝了上述外掛。

我們的檔案列表以及檔案內容如下圖所示:

可以看出,部分檔案包含Pragmatic Vim, 部分檔案包含Pragmatic Bookshelf,我們的目標是將所有的Pragmatic Vim替換成Pragmatical Vim,而Pragmatic Bookshelf不變。
首先,我們使用vim .命令開啟vim,使用:vimgrep /Pragmatic\ze Vim/ **/*.txt 找到我們需要搜尋的模式,所有包含我們搜尋模式的檔案都會放到quickfix列表中,如下圖所示:

我們可以使用:copen的命令來檢視quickfix列表,此處我們不查看了,因為後面我們會使用:ls 命令檢視開啟的檔案。現在我們使用vim-qargs提供的命令:Qargs將quickfix列表中的檔案用:args開啟

此時所有匹配到的檔案全部開啟,我們用命令:argdo %s//Pragmatical/g 對所有開啟的檔案進行替換

現在我們使用:ls命令檢視開啟檔案的狀態,可以看到開啟的檔案都已經被修改

使用:wqa儲存並退出,在終端中檢視檔案是否正確替換,可以看到已經得到我們想要的結果。