前回の解説では、本当に基礎的な部分を扱いました。
今記事では、移動に焦点を当てて解説できればと思います。
ソフトウェア開発をする上で、IDEやエディタの操作をざっくり分類すると、文字を入力するか、カーソルで移動するか、コピーや削除など編集するかのいずれかになるでしょう。
カーソル移動(応用)

前回の記事で、上下左右の移動は編集モード時にhjklを使って移動するものと解説しました。
今回はvimの特製と合わせて紹介します。
vimの編集モードを入力する前に、数字を入力することができます。
なんの役に立つのか? という疑問は当然です。
例としては以下のように使用します。
10j → 10行下に移動
10l → 10文字左に移動
このような操作に慣れると、矢印キーを押しっぱなしにして移動するよりもずっとスムーズに移動できるようになります。
ここでのポイントは複数文字の移動よりも、数字の部分です。
数字+操作の組み合わせは移動操作に限らず、vimの編集操作全般に活用できますので、ぜひ覚えておきましょう。
単語移動

単語単位移動と言われてもぴんとこないかもしれません。
例えば、I have a pen.というテキストがあったとき、単語移動をすると以下のように移動できます。
※以下の文章において * をカーソル位置とします。
I * have a pen.
↓単語移動
I have * a pen.
↓単語移動
I have a * pen.
↓単語移動
I have a pen * .
キーボードの矢印キーを連打するよりもずっと効率的に移動することができますね。
単語移動操作、実はWindowsでも可能です。
Ctrl + →で、右方向に単語移動ができます。メモ帳でもできるので、お試しください。
vimの場合は、編集モードのとき以下の入力で可能です。
w : 右方向に単語移動
b : 左方向に単語移動
e : 右方向に単語移動(単語の末尾へ移動)
ge : 左方向に単語移動(単語の末尾へ移動)
もちろんカーソル移動と同様に4wで4単語分右方向へ移動といったこともできます。
vimを使う人は普段、10jや4wといった一気に移動できる操作で「おおまかに移動」してから、hjklで移動先へ微調整するという操作をしています(vimを使っている人の画面を見せてもらうと、だいたいそうでした)。
行単位移動

これはvim特有の移動方法になります(他の主要エディタで使えるのを見たことがないため)。
例として、以下のようなテキストがあったとします。
* I like vim editor.
行頭にカーソルがあるとして、 fv と入力すると
I like * vim editor.
最初にvがある場所まで一気に移動します。
この操作法に慣れると、上記の単語移動よりも正確に狙った場所へ移動し、すぐ編集ができるようになります。
逆方向に移動する場合は Fl と入力すると、
I * like vim editor.
左方向に移動します。
まとめ

他にも便利な移動方法は複数ありますが、今回はすぐ使えそうなものを選んで紹介してみました。
vimは学習コストが高く、使いこなすまでに時間がかかるかもしれませんが、投資した時間に見合うリターンのある(と信じている)エディターなので、この記事を機に触ってみてはいかがでしょうか?
様々な分野で活躍するエンジニアが在籍するソリューション事業部はこちら
●Wantedly掲載情報(本当にやりたいことに辿り着きたい技術大好きエンジニア募集!)
●Wantedly掲載情報(エンジニア想いの環境でJavaやPHPにチャレンジしたいエンジニア募集!)
●Wantedly掲載情報(Angular/Reactを極めたいフロントエンジニア大募集!!)