02時52分vimでスムーズに移動するにはどういう方法があるだろうか。w,bを使った単語移動やf,tを使った文字移動がよく挙げられるけど、/,?を使うとより効率のいい移動ができる。次のソースを見てみよう。endこの左上の頭にカーソルがあったとする。view_controller_internalsのview_controller_internalsの頭までカーソルを持っていきたいとする。たくさんの方法があるけど、一番頭で考える時間+キーボードの操作時間を短縮できる方法はなんだろうか。とある人はjを複数回押してif...の行まで移動して2wを押すという。8jwwと云う人もいるだろう。8jを考えるまで何秒かかる?それよりもシンプルで簡単で触感的な方法がある。それは/を使う方法だ。/は検索のコマンドという概念が強くて、「あーこのソースからfoobarって変数を検索しないと」という本当の意味での検索のみにしか/を利用しない人が結構いる。この/を使った検索方法はシンプルだけど画面内に表示されたとある部分に移動するには一番効果的な方法である。/vieと押してみよう。view_controller_internalsのview_controller_internalsの頭に移動しているはずだ。移動するのがシンプルかつ強力な方法だということが解ってもらえただろうか。表示画面内の行をまたがって移動するときはこの方法が一番速い。左上の頭にカーソルがあったとして。二行目のtemplate_classに移動したいとする。さぁ、どうすればいいだろうか。template_classの前にtemplete_rootがあるから/temだとそっちに飛んじゃうしなぁ、と思って躊躇してしまうかもしれない。大概の場合、飛んでしまうのが正解だ。/temでtemplate_rootまで飛んですかさずnを押してみよう。nは前回の検索内容で飛ぶコマンドだ。そのため、template_classに移動する。tで飛んでwが挙げられる。tでloggerのrの場所まで飛ぶ。その後wでtemplate_classまで移動すればいいわけだ。並んでない限りは/temを押してからnで十分だろう。/を使った移動をうまく使いこなすコツは、ユニークな文字を画面の表示領域から見つけることである。たいがい3文字前後のユニークな文字で移動するとうまくいく。それほど長い文字列は必要ない。今回は触れなかったが、?は/と反対で/が下方検索なら?は上方検索だ。場合によって使い分けよう。あとこれは個人的な好みなのだが、vimではインクリメンタルサーチは使うべきではない。前書きプログラミングの開発環境おたよりを送るおたよりをおまちしてます。お気軽に送りください。お返事はメールアドレス入力があればメールで、メールアドレスがなければ日記上で行うことがあります。プライバシーポリシーおよび利用規約が適用され、保護されています。