Vim + Syntastic:チェッカーを無効にする方法
質問
HTMLファイルに対して有効なSyntasticを使用しています。私は "Validator W3"チェッカーが有効になっている非常に大きなファイルを持っているので、ファイルの保存中にGVIMまたはVIMは非常に遅くなりました。
現在のセッションのためだけにシンタティックオフを時間的に切り替えることは可能ですか?
解決
:SyntasticToggleMode
の使用Syntastic Modeをパッシブモードに切り替えることができます。これにより自動検査を無効にします。その後、代わりに:SyntasticCheck
を実行してファイルを確認できます。
詳細については、:help syntastic-commands
別の注意:Syntasticが遅い場合は、 ALE を別のものとして検討してください。構文とは異なり、それは非同期的に実行されます、それでそれが遅くなってもあなたを妨げるべきではありません。
他のヒント
私はデフォルトでSyntasticを無効にしており、My .vimrc:
で次のようにエラーチェックを有効/無効にしました。let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
nnoremap <C-w>E :SyntasticCheck<CR> :SyntasticToggleMode<CR>
.
エラーチェックを使用する必要があるときは、 Ctrl-W E
JamieとGospの答えの代替手段、1つはチェッカーを指定することで、チェッカーを完全にのように指定できます。
let g:syntastic_html_checkers=['']
.
また、syntastic_check_on_open
が1に設定されていないことを確認します。これは、上記の行に対抗します。
let g:syntastic_check_on_open = 0
. セッション全体のシンタニティオフを切り替えることができます( Jamie Schembri )が問題である場合「非常に大きなファイル」を使用すると、1つのバッファだけを無効にすることができます。
私の仕事で取り組んでいるファイルのいくつかは、絶望的に非PSRに準拠していません。ほとんどの仕事はちょうどいいです。私はそれらの問題ファイルだけのための同期を無効にするための機能を探していました。Primary Contributorによって概説されているSyntasticDableToggle 'のSyntasticDisableToggle ' 'のSyntasticDisableToggle ' 'のSyntasticDisableToggle ' 'のSyntasticDisableToggle ' '' ''/ P>
.
"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()
これは質問に直接取り組んでいませんが、現在のセッションを超えて助けることができます。あなたが頻繁に編集しなければならないファイルを持っているなら、あなたが常にSyntasticを無効にしたいことをあなたが知っているのであれば(たとえば何千ものエラーがあり、あなたはそれらを修正しないこと、そしてUIのスローダウンの結果に残したままにしています)。ブラックリストにはとても便利です。
これを行うには、syntastic_ignore_files
オプションを使用します。ヘルプに隠れていますが、この機能でクレイックスをブラックリストファイルに使用できます。
'syntastic_ignore_files'
Default: []
Use this option to specify files that syntastic should never check. It's a
list of regular-expression patterns. The full paths of files (see ::p) are
matched against these patterns, and the matches are case sensitive. Use \c
to specify case insensitive patterns. Example:
let g:syntastic_ignore_files = ['\m^/usr/include/', '\m\c\.h$']
. 次の設定は私のために働いた。
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>
. 単一のバッファのチェックをオフにする別のオプション(ファイルタイプに関係なく)は、:let b:syntastic_mode="passive"
を使用することです。切り替えではないので、バッファが現在パッシブモードになっている場合でも機能します。
すべてのバッファのすべてのファイルタイプのチェックを一時的にオフにしたい場合は、:bufdo let b:syntastic_mode="passive"
を使用できます。私はすべてのバッファのチェックをオフ/オンにするためのセットアップマッピングを持っています:
nnoremap <leader>sN :bufdo let b:syntastic_mode="passive"<cr>
nnoremap <leader>sY :bufdo unlet b:syntastic_mode<cr>
.
これは、多くのオープンバッファーを備えた:wqa
を実行するときに特に役立ちます。
ありがとうございます
" ignore files of Ansible Roles.
let g:syntastic_ignore_files = ['\m^roles/']
.