前回の記事では、watchdogs.vimを使って、env.sh
を噛ませたPerlのシンタックスチェックとUnite.vimを紹介した。
今回は、VimではなくNeoVimを使っている場合に、watchdogs.vimよりも動作が軽く(体感では)、依存プラグインが少ないNeomakeを紹介する。
インストール
neomake/neomake
を好きなプラグインマネージャで入れる- watchdogs.vimのために入れたプラグインは、(他で使ってなければ)全て外しても大丈夫
設定
ヘルプを読めばすべてが分かる。
最低限、これだけ書いておけば保存時にチェックしてくれる
autocmd!BufWritePost * Neomake
env.sh
を噛ませる設定
この設定により、プロジェクトルートにあるenv.sh
を噛ませつつperl
で実行できるようになる。
letg: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,
\ }
letg: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
のみでチェックを行うようになる。