PacVimでVimの基本的移動コマンドを手に叩き込む

Blog Single

人が大勢いる場で「一番優れているエディタは何ですか?」という質問をするのは、時として危険です。
下手すると血を見ることになります。

現在、有力なエディタは複数あり、それぞれに根強いファンがいます。
それぞれに特徴があるのですが、最低限使いこなせさえすれば基本的にどれでもいいと個人的に思っています。

そんな中、特異な存在として確固たる地位を築いているエディタが「Vim」です。
Vimの操作感はかなり特殊なのですが、性能は抜群です。

まず、かなり軽量で操作の小回りが利くというのが大きな特徴の一つです。
機能が充実しているエディタや総合環境は勿論使いやすいのですが、その分動きが重くなったりもしてしまいます。
Vimはその点相当速いです。どんな大きいファイルもすぐに開きます。

また、独自コマンドが充実しているので慣れて来ると爆速でコーディング出来てしまう、というのも特徴です。
キーを数回打つだけで特定の行に移動したり、編集したり、削除したり出来ます。
しかも前述の通りレスポンスも軽いので、特定のファイルの特定の行を修正したいといった場合、ファイルを開くのを含めても数秒で終わってしまったりします。

とはいえ、その独自コマンドの多さが敷居の高さにも繋がっているのは間違いありません。
「インサート(書き込み)モードにする」や「保存する」もコマンドを覚えて操作しなければならないので、最低限動かすだけでも幾つかのコマンドを覚えなければんなりませんし、かといって最低限動かすだけのコマンドを覚えただけだとわざわざVimを使う旨味があまりありません。

こんなことを偉そうに書いている自分もそこまでコマンドを覚えている訳ではなく、日々新しいコマンドを覚えてもっと速く操作できるようになろうと躍起になっています。

特に覚えるのに苦労したコマンドがhjklです。
それぞれが「カーソルを左に動かす」「カーソルを下へ動かす」「カーソルを上へ動かす」「カーソルを右に動かす」というコマンドになっています。
このコマンドを覚える障壁となる一つの事実として、矢印キーを使ってもカーソルは動くということがありました。
当たり前ですが、”→を押すとカーソルが右へ動く”の方が直感的です。なのでわざわざh、j、k、lのコマンドなど覚えるという労力を割く気になれない、とかつて考えていました。

それでもh、j、k、lのコマンドでカーソルを移動させるべく必死に覚えました。なぜかというと、矢印キーを使うのとは違い、ホームポジションから指を動かす必要がないからです。
微々たる差だと思われるかもしれませんが、Vimを使用している以上、速さ・効率は念頭に置くべきでは、と考えるようになりました。

前置きが長くなってしまいましたが、実際にカーソル移動コマンドを覚えるのに使ったものをご紹介したいと思います。

その操作性のややこしさから、コマンドを覚えるためのチュートリアルが公式で用意されています。
Vimをインストールした後、”vimtutor”というコマンドを打つとチュートリアルが開始されます。

このチュートリアルもなかなか面白いのですが、もう一つオススメしたいのがPacVimです。
Pacmanっぽいゲームを通じてVimの基本的移動コマンドを覚えることが出来ます。

PacVim詳細

インストールは簡単で、Macだと

brew install pacvim

で完了です

pacvim

とコマンドを打つとゲームが開始されます。

カーソルが自機で、h、j、k、lで上下左右に動けます。赤文字の「G」と動かない「~」が敵で、触れるとゲームオーバーです。
実際にプレイするとこんな感じです。

見ての通り、フィールドに幾つか英単語が書いてあり、その上を通過すると緑色に変化します。全ての文字を緑にできればそのレベルはクリアになります。
しかも、h、j、k、l以外にもVimのコマンドは対応していて、wでフィールド上の次の単語の頭に移動、eで今いる単語の最後のアルファベットに移動し、0で行頭に移動、$で行末に移動など、敵から必死に逃げている間に基本的な移動コマンドを習得することができます(そもそも難易度が高いので適宜使わないとクリアは困難です)。

何かしら必要性に駆られた方が技術を覚えられる身としては、敵から逃げるためにコマンドを覚えなければならないというのは自分に向いていました。
とはいえゲームはほどほどに。

技術書は勿論、本全般が好き。品揃えの良い本屋に行くとテンション上がりすぎて後で具合が悪くなる。

Other Posts: