少し前にNeovimを使いはじめ、メインエディタにできればいいかなと思っていたのですが、挫折しました。結局、開発のメインはJetbrains、ちょっとしたメモ書きや文章作成などはVSCodeになってしまいました。
挫折した理由を振り返ってみたいと思います。
設定が大変すぎる
一番の理由はこれでした。何かの機能を追加する度に設定ファイルを作って適用してみたいな作業が必要なので、設定に時間がかかってしょうがありません。JetbrainsやVSCodeのカスタム無しの標準で提供されているような状態にするまでに膨大な時間がかかります。
なので、最初は最低限の機能を設定して、あとは使いながら徐々に足していくことになります。
仕事に余裕があるときはそれで良いのですが、余裕がなくなったとき、がっつりとコードを書いたり読んだりしないといけないときは、設定が未熟のNeovimを使っている余裕はありません。で、一定期間Jetbrainsばかり使っていたら、Neovimの操作も忘れつつあり、もうNeovimに戻る気はしなくなってしまいました。
カーソル移動が以外と不便
Vimの最大の売りはカーソル移動ですが、レイヤーキーボードや各エディタの機能が充実している現代に置いてはその優位性は少なくなっているかと思います。
確かに、数値を組み合わせてカーソル移動などは便利です。これはVimでしかできないことです。でもカーソル移動においてVimに優位性を感じたのはそこだけでした。JetbrainsだとAceJumpでEasy Motionの代替はできますし、ワード単位の移動もAltと組み合わせればできます。
文書作成にいたっては、Vimのほうがカーソル移動が大変と感じました。
日本語で文章を書いているときは、編集中の行の先頭や行末にカーソルをもっていきたいことがけっこうあります。この場合、Vimだと
入力を英語に変更 -> モード変更 -> 先頭にカーソル移動 -> モード変更
という4動作が必要です。私のキー配置だと
無変換 -> jk -> Shift+h -> i
になります。
VSCodeやJetbrainsだと、
先頭にカーソル移動
の1動作ですみます。
私のキー配置だと、
Cmd + ←
です。
ノートPCなどを使っているときは、矢印キーや遠かったにするので、動作数だけでの単純比較はできませんが、レイヤーキーボードを使っているなら、明らかに後者の方が楽で早いです。
Code Inspectionの差がやっぱりある
私のNeovimの設定がまだ不完全ということもあったかもしれませんが、Code Inspectionの精度に差がありました。
というかJetbrainsのCode Inspectionがすごすぎます。これに慣れると、他の環境のInspectionがいまいちに思えるので、ちゃんとしたコードを書くときはやっぱりJetbrainsを使いたくなります。
まとめ
- 初期設定が大変すぎる
- カーソル移動が不便に感じるケースがある
- Code InspectionはやっぱりJetbrainsのほうが良い
という理由から、Neovimを諦めてJetbrainsに回帰しました。
本来の目的は、Vimをばりばり使うことでなく、効率よく精度の高いコードを書くことなので、その辺のこだわりはすて自分にあった環境を受け入れようと思います。
