Vimで、カンマで連結されるようなテキストの左右を交換したい。
目的
f($arg1, $arg2);
のようなコードを、
f($arg2, $arg1);
のように書き換える場合、通常は$arg1
と,
を別々に移動しなければなず、二度手間になる。二度手間どころか、複数のレジスタを使って適切な順番で処理しないと、typoしやすい。
対処
argumentative.vim を使う。
成功
上記の例の場合は、$arg1
上で>,
と入力するだけで書き換えが可能。
その他
テキストオブジェクトも追加され、なかなか便利。
f($arg1, $arg2);
を、$arg2
上でda,
とすれば、
f($arg1);
とできたりする。
また、単純にカンマを見ているせいか、
{ a: 1, b: 2 }
のような形式も扱えるので、JavaScriptなど余分なカンマが使えない場合に特に便利。*1
*1:余分なカンマが許されているなら、カンマごと移動することも可能