自分のエディタ事情と(Neo)Vim使ってますという話

Vimの設定はここに置いていて、気づけば4か月ほど設定を変えておらず安定してるんだなあと思ったので、記事のネタにすることにした。

なぜVimを使うのかとか設定の好みの話

お仕事でVSCodeのプロジェクトごとの設定をおいたり、Live Shareでコミュニケーションをとりながらコードを触ったりするので、VSCodeは入れるようにしている。が、Vimのモードを切り替える感覚から逃れがたいのでVimを使っている。

VSCodeにもVim風のキーバインドを設定できるかもしれないけど、似せるくらいならVimでいいじゃんと思う。基本的に設定しないですむなら設定は書きたくなくて、書くにしても書く量は少なくしたい。

プラグインも設定と同じでなるべく少ないほうがよいと思うし、プラグインの管理のために書く設定も少なくしたい。あまりプラグイン管理まわりのプラグインのことは熱心に調べてはいないものの、2016年にNeoBundleからdein.vimに切り替えて今に至るらしい。

ここ最近の設定の大きな変更としては、去年にdein.vimのプラグインはvimrcからdein.tomlに移動したり、aleの代わりにcoc.nvimを入れたりした

tomlにしたのもcoc.nvimを導入したのも、設定の記述量がそんなに減ったわけではないけども、Vim scriptを書く量が減っているのは嬉しかったかもしれない。つらつら dein#add を書いていた箇所がtomlを読むだけになったし、coc.nvimはaleのlinterとかの設定にあたるものは settings.json に書くようになった。書きながら思ったけど、もしかして自分はVim scriptが嫌いなのか…?いや多分嫌いではないし好きでもない…

Neo vimの設定

coc.nvimを入れたときに、Vim対応でありつつもプラグイン名からしてNeo vimのプラグインであることを主張しているので、なんとなく「Neo vimも使えるように準備しておくか…」と思ってNeo vimも使えるようにした。

ただ、Neo vim用の設定を書いてVimとの設定の差異が出てくると、設定に頭を悩ませることになるので、Neo vimの設定は書かないですむようにしたくてシェルスクリプトを書いた。Vimの設定とカラースキームのシンボリックリンクを張っているだけで、問題なく使えている。1

(主にcoc.nvimのおかげで)私の用途では問題なさそう

coc.nvimのおかげでLSPの恩恵が得られたりVSCodeっぽくcocの設定が書けたりlinterとかの連携もできていたりするので、とりあえずnode.jsとかTypeScriptを書くならVSCodeがおすすめされるであろうこのご時世に、心穏やかに過ごせている。


  1. ヤンクしたものをクリップボードに入れる設定だけNeo vimと互換性がなかったので取り除いた ↩︎