普段 VSCode という GUI のエディタを使っているのですが、大学の後輩を見ると Vim を使っている人が増えてきたので、大学生活 4 年目も終わろうかという頃に Vim に入門をし始めました。
Vim とは
Vim は Vi という CUI エディタから派生したエディタで、UNIX 系の OS には標準でインストールされています。
Vim はモードという操作方法を使って、マウスを使わず、ホームポジションからなるべく手を動かさなくて済むようなキーの組み合わせで入力を可能とします。
キーボードショートカットというと Ctrl や Alt キーを組み合わせたものが多いのですが、Vim ではそのような修飾キーに加えて h,j,k,l(カーソル操作)や a,i,o(INSERT モードへの変更)など通常のキーにも意味を持たせています。
なぜいまさら Vim なのか
普段 Ctrl+A,S,Z,C,V,F,W の左手でパッと使えるようなショートカットしか使っておらず、その他のショートカットキーは調べないと思い出せないぐらいなのですが、そうなると右手はどうしても暇になるかマウス操作を行うことになります。
プログラミングはどちらかというと考えている方が長いので別に右手が暇でも問題はないと思ったのですが、ちらりとコマンド一覧を見たら面白そうだと思ったので使ってみました。
3 ヶ月使って実感! 今すぐ VSCode に Vim キーバインドを導入すべき 3 つの理由 - Qiita
流石にエディタ自体を Vim にするほどではないと思っていうるので、VSCode のキーマップとして Vim を使えるようにします。
使ってみた感想
普段矢印キーでカーソル操作をしているので h,j,k,l で操作するカーソル移動になれません。すぐに右手が右下に飛んでいきます。
そもそも Vim の入門で「カーソル操作が h,j,k,l です」と便利さよりも最初に説明してるサイトが多くてそこで諦めてしまう人が多そうです。こればっかりは慣れかなと思います。
便利だなと思ったコマンド
まだ慣れないので時々使うのを忘れますが、これは使ってて楽だなと思ったコマンドがいくつかあります。
-
Ctrl+A(インクリメント)/Ctrl+X)デクリメント
- 古の修行僧だったので連番になってるコードが 1 つか 2 つずれると、一旦消して入力し直してを繰り返してましたが、NORMAL モードで数値にカーソルを合わせるとキー操作だけで簡単にできるようになります。
-
r
- 1 文字だけ編集する場合[r + 入力したい 1 文字]とするとカーソル上の文字を消して書き換えてくれます。書き換え後は NORMAL モードに戻るので楽でした。
-
d(delete)系
-
diw
- カーソル上の単語を削除。日本語でも割りと動いてくれる。
-
di"
- ダブルクオーテーション内部文字を削除。String 型の中身書き換えとかに便利。
-
dit
- HTML タグの内部文字を削除。AutoRenameTag が入っているのでリネームは楽だったが消すときに大変だったのでだいぶ楽に(特にネストしている場合)
-
diw
まだ便利なコマンドはありますが、今の所ぱっと指先が動いてくれるのがこれくらいなので、今後練習しながら進めたいと思います。
ただ Ctrl+A が使えなくなるのがめちゃくちゃ困ります。全選択のコマンドをまだ見てないので押すたびに悲しい気持ちになります。