前回の記事では、watchdogs.vimを使って、env.shを噛ませたPerlのシンタックスチェックとUnite.vimを紹介した。
今回は、VimではなくNeoVimを使っている場合に、watchdogs.vimよりも動作が軽く(体感では)、依存プラグインが少ないNeomakeを紹介する。
インストール
-
neomake/neomakeを好きなプラグインマネージャで入れる - watchdogs.vimのために入れたプラグインは、(他で使ってなければ)全て外しても大丈夫
設定
ヘルプを読めばすべてが分かる。
最低限、これだけ書いておけば保存時にチェックしてくれる
autocmd! BufWritePost * Neomake
env.shを噛ませる設定
この設定により、プロジェクトルートにあるenv.shを噛ませつつperlで実行できるようになる。
let g:neomake_perl_envperl_maker = {
\ 'exe' : './env.sh',
\ 'args' : ['perl', '-wc'],
\ 'errorformat' : '%E%m at %f line %l%s',
\ 'postprocess' : function('neomake#makers#ft#perl#PerlEntryProcess'),
\ 'buffer_output' : 1,
\ }
let g:neomake_perl_enabled_makers = ['envperl']
g:neomake_perl_envperl_makerはg:neomake_{ language }_{ makername }_makerという構造になっている(READMEより)。
Perl向けに新たにenvperlというmakerを定義した。
g:neomake_perl_enabled_makersはg:neomake_{ language }_enabled_makersという構造になっている。
これに今作成したenvperlというmakerのみを設定することで、Perlにおいてはデフォルトの設定を上書きしenvperlのみでチェックを行うようになる。