vimに構文チェックのプラグインを入れた(C++)
syntastic
このようになりました。
導入の流れ
GitHub - vim-syntastic/syntastic: Syntax checking hacks for vim
丁寧に書いてあるので、特に迷うこともないと思います。
インストールの手順に沿って、上から順番にコマンドを実行していきましょう。
しかし、その状態ではエラーチェックが行われなかったので、正しく動作しているかを確かめるため以下のコマンドを入力しました。
:SyntasticInfo
明らかに動いていなさそう。
Q&Aによれば、構文チェッカーが有効になっていない可能性があるのこと。
以下を.vimrcに書き込みました。
let g:syntastic_cpp_checkers = ['gcc']
できまし……ん?
errorやwarningが出ます。
構文チェックがc++11に対応していません。
そこで、
let g:syntastic_cpp_compiler="gcc" let g:syntastic_cpp_compiler_options=" -std=c++11"
ちゃんとオプションをつけてあげましょう*1。
これで正しくチェックしてくれるようになりました。
w0rp/ale Asynchronous Lint Engine
こちら 脱VimしようとしてAtomを触ってたけど、やっぱりVimを使うことにした - console.lealog(); で速いとの情報を得たので、早速インストール
GitHub - dense-analysis/ale: Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support
同じようにインストール。
syntasticがあると衝突するのでアンインストールしておきます。
導入してわかったこと
syntasticと比べて速い
確かに速い。スムーズに動きます。
ただ、エラー箇所を示す矢印(>>)の表示がやや遅いです。
結論
- ファイルが小さいなら、syntasticが極端に遅くなることはない。
- Asynchronous Lint Engineの方が速い。
- 適当にコマンドをコピペするだけでインストールできる