40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

Vimの魅力にだんだんハマってきたかも。

昨日に引き続き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の虜になりそうです(笑)