2011-01-17 9 views
7

に関数の引数を削除する最も簡単な方法:「ウィジェット」の「バズ」の「B」または「W」にカーソルを置き私は次のコードをお持ちの場合はVim

foo->call(bar, baz->widget); 

は、どのように私だろうカーソルの引数をすばやく削除しますか?

foo->call(bar); 

任意の引数(最初、最後、または真ん中)を指定できます。最初の引数に

答えて

5

、このキーの組み合わせは、括弧を開くに行き、そしてそれの後にスペースを含む次のカンマにすべてを削除します。真ん中の引数には

T(df,x

、このキー - 組み合わせは、前のコンマになり、次のカンマまで、すべてを削除します。最後の引数には

F,dt,

、このキーの組み合わせは、事前に行きますviousカンマ、それを削除し、閉じかっこまでのすべて:

F,dt)

- または -

あなたはこの種のものを行うには、独自のマクロを書くことができます。同様の例はhereです。

+1

TextObjectifyについての議論を比較し、組み込みのテキストオブジェクトのも不足しているデフォルトの動作を修正する)aaiaを提供し、さらにプラグインですカンマに、そしてスペースがない場合、それはあまりにも遠くに行きます。ほとんど! – Cascabel

+0

これは 'foo-> call(bar、baz-> widget())で壊れます。 ' –

+0

@Jefromi:私の答えを更新しました、ありがとう! – Chetan

10

私のomap-param pluginには、di,またはda,と入力してください。

他の角かっこで悩まされることはありません。例えば、f(a+g(42, "string")), foobar)では、 "a"から "g"まで、da,はf callでちょうどfoobarのままです。

+0

リンクが壊れています。更新できますか? –

+0

もちろん。それは[lh-cpp](https://github.com/LucHermitte/lh-cpp)にバンドルされています。 –

2

vim-argumentativeは、a,i,のテキストオブジェクトなどを提供する別のプラグインオプションです。

2

targets.vimは 'B'だけではない、バック、バックバズの先頭に表示されます

関連する問題