HTML ファイルで有効になっている Syntastic を使用しています。「validator w3」チェッカーを有効にした非常に大きなファイルがあるため、ファイルの保存中に GVIM または VIM が非常に遅くなりました (:w)。
現在のセッションだけ一時的にシンタスティックをオフに切り替えることはできますか?
を使用:SyntasticToggleMode
すると、Syntastic をパッシブ モードに切り替えることができます。これにより、自動チェックが無効になります。:SyntasticCheck
その後、代わりに実行してファイルをチェックできます。
詳細については、:help syntastic-commands
別のメモ: Syntastic が遅い場合は、代わりにエールを試すことを検討してください。Syntastic とは異なり、非同期で実行されるため、遅くても妨げにはなりません。
デフォルトで Syntastic を無効にし、.vimrc で次のようにエラー チェックを有効/無効にしました。
let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
nnoremap <C-w>E :SyntasticCheck<CR>
エラー チェックを使用する必要がある場合は、ctrl-w E を押すだけです。
Jamie と gopes の回答の代わりに、次のようにチェッカーを指定することで、チェッカーを完全に無効にすることができます。
let g:syntastic_html_checkers=['']
また、syntastic_check_on_open
が 1 に設定されていないことを確認してください。これにより、上記の行が取り消されます。
let g:syntastic_check_on_open = 0
セッション全体で Syntastic をオフにすることもできますが ( Jamie Schembriの回答による)、1 つの「非常に大きなファイル」だけの問題である場合は、1 つのバッファーだけを無効にすることをお勧めします。
仕事で使用しているファイルのいくつかは、どうしようもなく PSR に準拠していません。ほとんどは問題なく動作します。問題のあるファイルだけに対して Syntastic を無効にする機能を探していました。主な貢献者によって概説された「 SyntasticDisableToggle 」ソリューションのより単純な形式は、私にとってはうまくいきます。
"disable syntastic on a per buffer basis (some work files blow it up)
function! SyntasticDisableBuffer()
let b:syntastic_skip_checks = 1
SyntasticReset
echo 'Syntastic disabled for this buffer'
endfunction
command! SyntasticDisableBuffer call SyntasticDisableBuffer()
これは他のバッファには影響しないため、開いている他の (部分的に) 準拠しているファイルに対してこの素晴らしいプラグインを使い続けることができます。
次の設定は私にとってはうまくいきました。
let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
noremap <C-w>e :SyntasticCheck<CR>
noremap <C-w>f :SyntasticToggleMode<CR>
Ctrl-w + e shall enable checking
Ctrl-w + f shall disable checking
To disable warnings use:
let g:syntastic_quiet_messages={'level':'warnings'}
他のいくつかの人が言及したものと同様に、デフォルトで Syntastic をオフにする vimrc セグメントがありますが、ボタン (ここでは F10) をマップして現在のファイルをチェックし、同じボタンをトグルとして使用してチェックをオフにします。少し遅いですが、動作します。
let g:syntastic_check_on_open = 0
let g:syntastic_check_on_wq = 0
let g:syntastic_mode_map = {'mode':'passive'}
nnoremap <F10> :SyntasticCheck<CR> :SyntasticToggleMode<CR> :w<CR>
Steven Luに感謝します。これで、 Ansible Rolesのファイルを無視できます。
" ignore files of Ansible Roles.
let g:syntastic_ignore_files = ['\m^roles/']