我正在嘗試編寫一個名爲Remove的自定義vim命令,它只接受一個參數,並刪除文件中所有與該參數完全相同的行。例如,如果該文件是在Vim中自動縮進文件後的命令
int main() {
int x = 3;
int y = 4;
cout << x << endl;
}
,我用命令
:Remove int y = 4;
輸出將
int main() {
int x = 3;
cout << x << endl;
}
我可以通過定義
:command -nargs=1 Remove :%s/<args>\n//g
八九不離十
但是用這個命令該文件不是替換後正確縮進,這要求我在之後運行gg = G.
有沒有辦法讓gg = G作爲命令的一部分自動運行?
使用:normal命令。將它與以下內容結合使用:如果需要多個命令,請執行。 – Ben