Syntastic を使ってて :wq で閉じるとき、チェックを走らせない

  • 15
    Like
  • 0
    Comment
More than 1 year has passed since last update.

Twitter 漁ってたらその方法を見つけたので共有。

.vimrc
let g:syntastic_check_on_wq = 0

シンタックスチェッカー使ってるとやっぱり露骨に遅くなってストレス溜まるけど、それが晴れる。

ただ、「Vim 閉じる瞬間に一瞬表示されるチェッカーのアラートを見逃さないで、もう一度 開いて修正する」っていう愚かな行為はできなくなる。

この設定、Syntastic のドキュメントに Recommended settings として載っているのでちゃんと見ておけばよかったと思う。

syntastic/syntastic.txt at master · scrooloose/syntastic

.vimrc
------------------------------------------------------------------------------
1.2. Recommended settings                              *syntastic-recommended*

Syntastic has a large number of options that can be configured, and the
defaults are not particularly well suitable for new users. It is recommended
that you start by adding the following lines to your vimrc, and return to them
later as needed: >
    set statusline+=%#warningmsg#
    set statusline+=%{SyntasticStatuslineFlag()}
    set statusline+=%*

    let g:syntastic_always_populate_loc_list = 1
    let g:syntastic_auto_loc_list = 1
    let g:syntastic_check_on_open = 1
    let g:syntastic_check_on_wq = 0
<
==============================================================================

でも、g:syntastic_check_on_open(起動時にチェッカーを走らせる) とか auto_loc_list(警告のリストペインを表示する) とか結構邪魔なので個人的にはおすすめしない。

自分のおすすめ

チェッカーを走らせるファイルタイプ、走らせるチェッカーをちゃんと定めてるのと、error, warning symbol の設定。Ruby で mri を走らせるかどうか悩んでる。

.vimrc
let g:syntastic_mode_map = { 'mode': 'passive',
            \ 'active_filetypes': ['ruby', 'javascript','coffee', 'scss'] }
let g:syntastic_ruby_checkers = ['rubocop'] " or ['rubocop', 'mri']
let g:syntastic_javascript_checkers = ['jshint']
let g:syntastic_coffee_checkers = ['coffeelint']
let g:syntastic_scss_checkers = ['scss_lint']
let g:syntastic_error_symbol='✗'
let g:syntastic_warning_symbol='⚠'
let g:syntastic_style_error_symbol = '✗'
let g:syntastic_style_warning_symbol = '⚠'
let g:syntastic_check_on_wq = 0
hi SyntasticErrorSign ctermfg=160
hi SyntasticWarningSign ctermfg=220

参考