sorround.vimが便利すぎ。でもコマンド覚えられないからまとめてみた
vim の text-object をより便利に使えるプラグイン - surround.vim
ここにいい感じで紹介されてるんだけど、これはもうホント便利。
vim7.0から実装されたっていうtext-object関連の機能と併せて、なかなかコマンドを覚えられないんで自分なりにまとめてみた。
vim text-object 関連操作(含むsorround.vim
- 基本は引数(って言っていいのかな?)3つで操作
- 行いたい操作、範囲、対象の記号
- d(delete),y(yank),c(change),v(view mode?範囲を選択できる) などのあとに
- .i(inside), ,a(all)押して
- .範囲' とか " , ( など (ここで 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"
- 行全体を「"」で囲う
まとめてみたら、多少覚えやすくなった気がしました。