Vim
vimrc
syntastic

Vimで最強の文法チェックを実現するための簡単な方法

More than 5 years have passed since last update.

syntastic.vim はvimで文法をチェックしてくれる最高のプラグインの一つです。

しかし保存したときにしかチェックをしてくれないので、

保存するときはvimを抜けるとき!な自分にとっては微妙に使いにくい仕様になってます。

なので編集しながら文法チェックしてくれる用に設定しましょう!


前提条件

Vimのバージョンが7.4以上

Syntasticがインストールされている


設定


vimrc

let g:syntastic_enable_signs=1

let g:syntastic_auto_loc_list=2
let g:syntastic_mode_map = {'mode': 'passive'}
augroup AutoSyntastic
autocmd!
autocmd InsertLeave,TextChanged * call s:syntastic()
augroup END
function! s:syntastic()
w
SyntasticCheck
endfunction

これだけ!

これだけでバッファを編集したら即座に文法チェックできるし、作業内容も保存できます。


解説

最初の2行はお決まりの設定

3行目で明示的に文法チェックを走らせるように設定します。

augroupでinsertモード抜けたとき、ノーマルモードでバッファが変更されたとき、保存→SyntasticCheckを走らせる!


  • vimのバージョンを7.4に指定したのはそれ以下だとTextChangedがなぜか効かないからです。原因不明なのでどなたか知ってる方がいたら教えてください