Vimのテキストオブジェクトの扱い方

Vimのテキストオブジェクトについて勉強したのでメモしておく。

テキストオブジェクトとは

Vimにはテキストをひとまとまりのオブジェクトのように扱える機能がある。
テキストオブジェクトとは、””や”で囲まれた、テキストを一つのオブジェクトとして扱うことができる領域を指す。
:help text-objectを見ると理解が捗る。

テキストオブジェクトの扱い方

テキストオブジェクトに対して編集をかけるにはオペレーターの後にi(inner)とa(特に意味合いは無いが、私はallと覚えている)を指定する必要がある。例えば、下記のテキストに対して、””の中にカーソルをおいてci”と入力すると、””内のテキストを削除しつつ、挿入モードに移行する。ca”では””ごと全て削除するという挙動になる。

"吾輩は犬である"

テキストオブジェクト操作の例

コマンド 説明
di” ノーマルモードの状態で入力する。”に囲まれたテキストを削除する。
dit ノーマルモードの状態で入力する。タグに囲まれたテキストを削除する。
ci” ノーマルモードの状態で入力する。”に囲まれたテキストを削除しつつ、挿入モードに入る。
cit ノーマルモードの状態で入力する。タグに囲まれたテキストを削除しつつ、挿入モードに入る。

参考
vim テキストオブジェクト を理解することで、格段にコーディングスピードを上げる