昨日に引き続きVimの流儀読みながら勉強しましたが、今日はテキストオブジェクト(text object)。
これ自体はVim特有の概念とのことでカーソル位置によらず単語単位での選択ができるとのこと。
これだけだとちょっとわからなかったので、適当なサンプルのソースコードを開きながらちょっと試してみました。
int main(int argc, char *argv[]) { printf("Hello, %s\n" argv[0]); return 0; }
例えば、上記ソースのmain のiの間にカーソルがある状態でdwと入力するとinの文字が削除されてmaだけが残ってこれはまぁ予想通り。
次に上記のVim固有のテキストオブジェクトのキーバインディングでdawと入力するとVimが論理的な単位で文字を扱ってくれるので
int main(int...
となっているのが
int(int..
という感じでmainという文字を認識してくれた上でDeleteしてくれました!
Vimの流儀で書かれていた記事によると
ここでは単語単位という単純な例を挙げましたが、Vimでは文、段落、XML要素などの大きな単位のテキストオブジェクトが提供されており
とのことで、しっかりとこの概念を理解して使いこなせばタイプする文字を少なくしつつ効率的に入力できそうで、だんだんVimの虜になりそうです(笑)