sorround.vimが便利すぎ。でもコマンド覚えられないからまとめてみた

vim の text-object をより便利に使えるプラグイン - surround.vim
ここにいい感じで紹介されてるんだけど、これはもうホント便利。

vim7.0から実装されたっていうtext-object関連の機能と併せて、なかなかコマンドを覚えられないんで自分なりにまとめてみた。

vim text-object 関連操作(含むsorround.vim

  • 基本は引数(って言っていいのかな?)3つで操作
  • 行いたい操作、範囲、対象の記号
  1. d(delete),y(yank),c(change),v(view mode?範囲を選択できる) などのあとに
  2. .i(inside), ,a(all)押して
  3. .範囲' とか " , ( など (ここで t を押すと、xmlタグの操作が可能
ex.
di"
"の中を削除 (Delete Inside "
ci"
"の中を削除してinsetr modeに移行(Change Inside "
da"
"も含めて削除(Delete All "
yi"
"の中をyank(Yank Inside "
di}
{}の中を削除(Delete Inside }
dit
xmlタグの中身を削除(Delete Inside Tag

sorround.vimでさらに強化

  • 引数2番目に s(sorround) が使用可能
  • 場合によっては引数が4つになる
ex.
ds'
周囲の'を削除(Delete Sorround '
cs'"
周囲の「'」を「”」に変更(Change Sorround ' to "
cst<Title>
周囲のタグを<Title>に変更
Visual Modeで範囲選択をしていた場合
s' で範囲を「'」で囲う(大文字Sだとインデントもしてくれる
yはちょっと特殊?

ys + 範囲 + 記号 で動作
yss +記号 で行全体

ex.
ys$)
行末までを()で囲う
yss"
行全体を「"」で囲う

まとめてみたら、多少覚えやすくなった気がしました。