如何同時編輯多個文件的相同部分?

如何同時編輯多個文件的相同部分?

我有多個 HTML 文件,它們組成了一個小網站。文件頂部重複了幾行程式碼(儘管有所不同<title>),底部也重複了幾行。

我可以使用像 Jekyll 這樣的預編譯器,並使用佈局,這樣我只需更改程式碼一次,但我覺得這為專案增加了不必要的複雜性。我可以使用正規表示式(這就是我目前正在做的事情,使用迪爾多維姆),但是這樣就有點麻煩了。

那麼,是否有任何插件可以檢測一組文件的相同部分,並允許您一次編輯所有文件?或者有其他我可能沒有想到的方法嗎?

答案1

在 Vim 中,這個問題可以分成兩個部分:

  1. 將編輯套用到多個文件
  2. 重複相同的編輯

對於 1.,您正在使用迪爾多插入;替代方案是內建的:argdo,:bufdo等。

對於 2.,您可以使用任何 Vim 命令(組合)。最強大的是:substitute,使用 a:[range]選擇行,並使用正規表示式(找到要修改的點)修改這些行中的文字。

您也可以錄製巨集,然後透過 重新套用該宏:normal! @a。當然,如果這是在單行開頭處的單一編輯,則重複通孔:[address]normal! .就足夠了(但僅限於單一編輯操作以及將:normal遊標定位在行開頭的事實)。

答案2

您可以使用CtrlSF.vim在所有文件中搜尋給定模式,然後使用以下命令同時編輯搜尋結果周圍的部分vim 多遊標。但也有一些限制,例如您無法新增或刪除行(請參閱 參考資料README.md)。

相關內容