删除Vim中函数参数的最快方法

Ale*_*x B 7 vim

如果我有以下代码:

foo->call(bar, baz->widget);
Run Code Online (Sandbox Code Playgroud)

将光标放在"baz"中的"b"或"widget"中的"w"上,如何快速删除光标处的参数?

foo->call(bar);
Run Code Online (Sandbox Code Playgroud)

它可以是任何参数(第一个,最后一个或中间).

Luc*_*tte 10

使用我的omap-param插件,只需键入di,da,.

它不会受到其他括号的困扰.例如f(a+g(42, "string")), foobar),从"a"到"g",da,只会留foobar在f中.


Che*_*tan 6

对于第一个参数,此键组合转到左括号,并删除下一个逗号之前的所有内容,包括后面的空格:

T(df,x

对于中间参数,此键组合将转到上一个逗号,并删除它和所有内容,直到下一个逗号:

F,dt,

对于最后一个参数,此键组合转到上一个逗号,并删除它和所有内容,直到右括号:

F,dt)

- 要么 -

您可以编写自己的宏来执行此类操作.这里有一个类似的例子.