我有多個 HTML 文件,它們組成了一個小網站。文件頂部重複了幾行程式碼(儘管有所不同<title>
),底部也重複了幾行。
我可以使用像 Jekyll 這樣的預編譯器,並使用佈局,這樣我只需更改程式碼一次,但我覺得這為專案增加了不必要的複雜性。我可以使用正規表示式(這就是我目前正在做的事情,使用迪爾多維姆),但是這樣就有點麻煩了。
那麼,是否有任何插件可以檢測一組文件的相同部分,並允許您一次編輯所有文件?或者有其他我可能沒有想到的方法嗎?
答案1
在 Vim 中,這個問題可以分成兩個部分:
- 將編輯套用到多個文件
- 重複相同的編輯
對於 1.,您正在使用迪爾多插入;替代方案是內建的:argdo
,:bufdo
等。
對於 2.,您可以使用任何 Vim 命令(組合)。最強大的是:substitute
,使用 a:[range]
選擇行,並使用正規表示式(找到要修改的點)修改這些行中的文字。
您也可以錄製巨集,然後透過 重新套用該宏:normal! @a
。當然,如果這是在單行開頭處的單一編輯,則重複通孔:[address]normal! .
就足夠了(但僅限於單一編輯操作以及將:normal
遊標定位在行開頭的事實)。
答案2
您可以使用CtrlSF.vim在所有文件中搜尋給定模式,然後使用以下命令同時編輯搜尋結果周圍的部分vim 多遊標。但也有一些限制,例如您無法新增或刪除行(請參閱 參考資料README.md
)。