はじめに
最近、GUI系エディタのCursor、Zedを経てvimに移行してみたので、感想を簡単に書いてみます。
コマンドを覚えるのが大変
Gemini曰くvimにはコマンドが基本的なものだけで数百個あるそうですが、僕はまだ20個くらいしか使えません。
編集が早くなる
次の単語に移動、一単語分削除、現在の位置から行末まで削除など、簡単な編集コマンドを使うだけでも編集の速度がだいぶ速くなりました。
また、vimの機能ではないですが、モダンターミナルのWarpを使用することでAIに補完してもらい、ターミナルコマンドを早く実行することができるようになりました。そのため、今ではファイル作成やファイルの中身のコピーもコマンドで行っています。
どのくらい早くなるのか試してみる
競技プログラミングサイトのAtcoderのA問題10問ずつを解いて、平均の書く時間を測ってみます。
具体的には、初見のABC100~119のうち、ABC100、102、104...をvimで、ABC101、103、105...をGUI系エディタのCursorで書いて、平均何分で解けるか計算します。
Vim
Cursor
というわけで、結果はほとんど変わりませんでした。いやでも緑diffとか解くときは早くなったんだって
ただ、これはVimでキーボード操作が早くなったおかげで、GUI系エディタでもキーボードで操作することが増えたことも大きいと思います。
識別子の候補が表示されない
最初は慣れませんでしたが、これによって以下のことを心がけるようになったと思います。
- 変数名を見なくてもを覚えられるほどわかりやすくする
- 関数などによるスコープを、常に全体を見渡せるほどコンパクトにまとめる
一つ目に関しては、自分が作った変数名を、補完されなくても書けるくらい単純にするように心がけました。
二つ目は、エディタの上から下までに関数が入るようにする、逆に言えば引数を受け取るところや変数定義をしているところが常にエディタからはみ出さないようにするということです。これにより、変数を定義しているところを検索などによって探さなくてもすぐに見つけることができます。(大体24行くらいを目安にするといいそうです)
おわり
vimを始めたきっかけはvimmerの平均年収は高いというデータに興味を持ったことでした。
(この記事からです)
まだ覚えていかなければいけないコマンドや機能もたくさんあると思うので、もっと練習していこうと思います!