Vim・neovim, 十数年のつきあいです.
長い間, 設定ファイル (vimrc, init.vim) を育てメンテナンスしてきましたが, 移ろいゆくプラグイン管理や補完入力の方式などに正直つかれてきました.
今は Vim Bootstrap と neovim 標準のLSPの組み合わせで, そこそこ満足に運用できているので, そのあたりのことを紹介してみます.
Vim Bootstrap とは
Vim Bootstrap は Vim/neovimの設定ファイルを生成してくれます.
いくつかのプラグインとそれらの設定とイカした外観が手に入ります.
プログラミング言語の選択はしなくても良い
Vim Bootstrap で設定ファイルを生成する時に主に使うプログラミング言語を選んでおくと, その言語固有のプラグインと設定も加わります.
しかし, LSPを使うことを想定するなら, とりあえず選ばなくてもいいのかなと思います.
設定ファイルを ~/.config/nvim/init.vim
として設置したあとなら,
let g:vim_bootstrap_langs = ""
ここに使いたい言語を追記した上で, 次のコマンドを実行することでプログラミング言語固有の設定を追加できます.
:VimBootstrapUpdate
生成したファイルは変更しない
生成した設定ファイル init.vim は変更しなくても運用できるようになっています.
"" Include user's extra bundle
if filereadable(expand("~/.config/nvim/local_bundles.vim"))
source ~/.config/nvim/local_bundles.vim
endif
"" Include user's local vim config
if filereadable(expand("~/.config/nvim/local_init.vim"))
source ~/.config/nvim/local_init.vim
endif
自分の設定を入れたい場合は, ~/.config/nvim/local_init.vim
に, プラグインを追加したいなら ~/.config/nvim/local_bundles.vim
に追記します.
powerlineフォントを有効にすると, 見た目を特にいい感じにできるのでおすすめです.
let g:airline_powerline_fonts = 1
let g:airline_theme = 'luna'
LSPの導入
LSPを導入する手段はいくつかありますが, いまはneovim組み込みのLSPで導入しています.
この記事を参考にしました.
言語固有のオペレーションは可能な限りLSPで賄う. LSPでカバーできないと思ったら, 別途プラグインを用意するくらいの方針でいいかなと思っています.
所感
- 良くも悪くもプラグインや設定へのこだわりがなくなる.
- Vim Bootstrap にて導入済みのプラグインや設定を把握しておく必要はないけど, ときどき init.vim を覗いたり,
:map
コマンドで使い方やキーマップを調べて理解を深めることに努める. - 使いづらいと思った設定やキーマップは, 調べてどんどん変更する.