删除VIM中的完整功能

时间:2015-12-10 10:34:40

标签: c++ c vim command vi

有没有办法使用单个命令在VIM中删除完整的(C,C ++)函数?

假设我有以下功能:

#include "vertex.hh"
int main() { return 0; }

使用命令#include "svl/SVL.h" 只需获取括号内的内容,而不删除函数定义。 使用命令void foo(int arg1, int arg2) { // do some stuff myfunction(arg1); // do other stuff separated by blank line for readability myotherfunction(arg2); } 不起作用,因为函数内的空行会创建一个新段落。

当然我总是可以di{后跟dip来删除函数定义,但还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用 m a 命令标记必须删除的内容,然后按 d ' a 删除它。

假设您要删除整个函数,然后将光标移到函数的开头

copyField

m a ,将光标向下移动直到您要删除的行。

void foo(int arg1, int arg2) {

然后按 d ' a