Vimを好きになるために、まず1週間だけ使い続けてみる
Vimを触り始めた頃、保存すらできずに何度もウィンドウを強制終了しました。:wqを覚えるまでの数十分は、はっきり言って苦痛でしかありませんでした。あの時点でやめていてもおかしくありませんでしたが、続けた結果、今は他のエディタに戻ろうと思わなくなっています。
検証環境:macOS + Vim 9.1.1752。vimtutor jaが日本語で起動すること、同梱されている言語の数、章立ては、実際に起動して確かめた結果です。
最初の数日がいちばんつらい
Vimはモード切り替えという他のエディタに無い概念を最初に乗り越える必要があります。ノーマルモードで文字を打とうとして意味不明な動作をする、インサートモードから抜けられなくなる、この2つだけで挫折する人を何人も見てきました。ここを乗り越えるまでは「便利さ」より「不便さ」のほうが強く感じられるのが普通で、心が折れやすくなります。
まずvimtutorコマンドを一度通しで触ってみるのがおすすめです。ターミナルでvimtutorと打つだけで、Vim自体に同梱されているチュートリアルが立ち上がります(使い方の詳細はこちら)。所要時間はチュートリアル自身が冒頭で明示しています。
The approximate time required to complete the tutor is 30 minutes, depending upon how much time is spent with experimentation.
日本語で受けられる
意外と知られていませんが、このチュートリアルには日本語版が同梱されています。言語コードを付けて起動するだけです。
vimtutor ja
手元のVim 9.1で実行すると「VIM 教本(チュートリアル)へようこそ」という日本語の画面が立ち上がりました。同梱されている言語は32種類あり、英語の説明を読みながらキー操作も覚える、という二重の負荷を避けられます。最初の数日で挫折しかけている段階では、この差は小さくありません。
扱う範囲は7つの章に分かれていて、「終了のしかた」から「自分の設定ファイルを作る」ところまで一周します。
| 章 | 内容 |
|---|---|
| 1.1 | カーソル移動、Vimの終了、削除と挿入 |
| 1.2 | オペレータとモーション、カウント指定、undo |
| 1.3 | 貼り付け、置換、変更オペレータ |
| 1.4 | 検索、対応する括弧へのジャンプ、置換コマンド |
| 1.5 | 外部コマンドの実行、ファイルの書き出しと読み込み |
| 1.6 | 行の挿入、コピー&ペースト、オプションの設定 |
| 1.7 | ヘルプの引き方、起動時スクリプトの作成 |
最初の壁だと感じる「モードの切り替え」と「終了できない」は、どちらも1.1の中で片付きます。ここだけでも10分かからないので、迷っているなら通しでやらずに1.1だけ触ってみるのでも構いません。
便利さに気づく瞬間は人によって違う
個人的には、複数行にわたる同じ変更を.(ドットコマンド)で繰り返せることに気づいたときでした。同じ修正をコピー&ペーストと手打ちで繰り返していた作業が、1回操作して.を連打するだけで終わるようになりました。人によっては正規表現を使った置換だったり、テキストオブジェクト(ciwやdi"など)だったりします。どれか1つでも「これは他のエディタより速い」と実感できると、そこから先は苦にならなくなります。
詰まったときに頼れる場所
Vimは:helpだけでほとんどの疑問が解決する珍しいツールになっています。:helpのあとにコマンド名やオプション名を続けるだけで該当のヘルプに飛べます(引き方のコツ)。検索エンジンで探すよりも正確な情報が手に入ることが多いので、まず:helpを引く癖をつけておくと遠回りが減ります。
体系的に学びたくなったら、Drew Neil著の「実践Vim」(Practical Vim)は今でも定番として挙げられることが多いです。Tips形式で1つずつ操作を紹介する構成になっていて、最初から通読しなくても気になる項目だけつまみ読みできます。
ただし、順番としては本より先にvimtutorです。本は「使える操作を増やす」ためのもので、最初の壁である「モードが分からない・終了できない」を越える役には立ちません。逆にチュートリアルを一周したあとは、本の内容が急に頭に入るようになります。同人誌を含めて学習段階別にどんな本があるかは書籍のまとめで扱っています。
最初の1週間は正直しんどかったです。それでも辞めなかったのは、単に「せっかく覚えかけたのにもったいない」という理由だけでした。今振り返ると大した動機ではありませんが、続ける理由なんてその程度で十分だったと思います。1つでも便利さを実感できるまでは、無理に効率を求めず慣れることだけを優先するのがいちばん近道でした。
まとめ
Vimは最初の数日がいちばんの壁で、そこさえ越えれば急に苦にならなくなります。vimtutorで基本を一周し、詰まったら:helpを引きます。この2つだけ意識していれば、好きになるかどうかは自然に決まってきます。使い続けている人が実際どこに魅力を感じているかはこちらにもまとめています。