1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Vimを始めるならVim Bootstrap + LSP だけでよい

Posted at

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 コマンドで使い方やキーマップを調べて理解を深めることに努める.
  • 使いづらいと思った設定やキーマップは, 調べてどんどん変更する.
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?