我正在尝试编写一个名为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