ちまちまとdotfilesを育ててきたが、Goの補完が動かなくなっていたり中途半端にLSP対応しようとした痕跡だけ残っていたりしたので、断捨離も兼ねてガッツリプラグインを整理した。

プラグインの構成はdotfiles/vim/rc/plug.rc.vimに全部寄せている。

あんまり凝った構成にしてもメンテナンスが大変なので、以下の基準でプラグインを選んだ。

  • githubのStar数が多くてAPIが安定してそう
  • 少ない設定でも動く

整理しているときに、coc.nvimという良さげな補完プラグインを見つけたので軽く紹介してみる。

coc.nvim Link to heading

coc.nvimはREADMEに書いてあるとおり、VSCodeライクな補完をVim上で実現するために作られているらしい。

高速と謳っているだけあり、重たいファイルを開いて補完しても重くならなかった。 また、デフォルトでLSPに対応している上に、非常に丁寧なドキュメントも用意されているため、導入のハードルはとにかく低かった。 aleと共存するための設定があったのも個人的には嬉しい。

一部設定はJSONで管理することになるが、それさえ問題なければ強くおすすめできる。

導入に際して、coc-snippetsCocInstallではなく、プラグインマネージャ(vim-plug)経由でインストールしようとしたときにちょっとだけ引っかかったのでそれだけメモ。

coc.nvimと連携するエクステンションをプラグインマネージャ経由でインストールするときには、以下のようにインストール後にyarnコマンドを実行するようにする必要がある。

Plug 'neoclide/coc-snippets', {'do': 'yarn install --frozen-lockfile'}

(ちなみにちゃんとドキュメントに書いてあるので、全部読んでおけば引っかかるようなこともない。)