テキストオブジェクトはかなり便利

前にちらっと名前は目にしたんだけど良く分からなくてスルーしていたものをhelpで勉強したのでメモ。
テキストオブジェクトのヘルプは

:h text-object

で見れる。


テキストオブジェクトとはオブジェクト単位で選択する機能らしい。

次のものはビジュアルモードか演算コマンドの後でのみ使うことができる一連のコマン
ドを示しています。

とヘルプにある。


つまり、テキストを適切な範囲で自動で選択してくれる機能らしい。
例えば

aaa 'bbbb cccc' ddd

というテキストがあり、bの上にカーソルを移動する。
vでビジュアルモードに入って「i'」とすると「bbbb cccc」が選択される。
「i'」は「'」で囲まれた中の文字列を選択(「'」は含まない)する。
これでいままではvしてからhjとかで選択範囲を指定していたのを、一気にテキストを選択できるようになるので便利。

ちなみに「i」は「inner(内部)」の意味。
上記の例で「'」を含みたかったら「ambient(周囲)」の略「a'」にすればOK。


ちなみに演算コマンドとはyとかdなどのコマンドの後にさらに別のコマンドと組み合わせて使うものらしい(あってる?)。
つまり、yi'とすると上記テキストをヤンクする。


他の操作はヘルプを参照で。


あと注意事項として、テキストオブジェクトの機能はVim7から入った機能ということ。
さらにヘルプに書いてあるけどVimコンパイル時に「+textobjects」が必要らしい。
コンパイルオプションを確認するには:versionで。


ちなみに職場でつかっている香り屋さんのやつは問題なく使えました。