【发布时间】:2016-01-21 16:09:38
【问题描述】:
我正在尝试编写一个名为 Remove 的自定义 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 命令。如果您需要多个命令,请将其与 :execute 结合使用。
标签: vim command indentation