回答:
使用:SyntasticToggleMode
あなたは、自動チェックを無効にしますパッシブモードへSyntasticを切り替えることができます。その後、:SyntasticCheck
代わりにを実行してファイルを確認できます。
詳細については、 :help syntastic-commands
別のメモ:Syntasticが遅い場合は、代わりにエールを試すことを検討してください。Syntasticとは異なり、非同期で実行されるため、遅くても邪魔になりません。
:error
またはCtrl + Shiftキー/ Altキー+ Eトグルの間:SyntasticCheck
と:SyntasticToggleMode
。
:command Sd SyntasticToggleMode
次に、viで:Sdを押すと、syntasticが無効になります。その方法の詳細については、こちら:stackoverflow.com/questions/3878692/aliasing-a-command-in-vim
silent! nmap <F6> :SyntasticToggleMode<CR>
Syntasticをデフォルトで無効にし、.vimrcで次のようにエラーチェックを有効/無効にしました。
let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': [],'passive_filetypes': [] }
nnoremap <C-w>E :SyntasticCheck<CR>
エラーチェックを使用する必要があるときは、ctrl-w Eを押すだけです。
.vimrc
。ただし、Ctrl-w Eを押すと、Syntasticが1秒間ポップアップし、再び消えます。何が問題になっているのか、および/またはこれを追跡する方法はありますか?
セッション全体で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()
これは他のバッファーに影響を与えないので、私が開いている他の(部分的に)準拠したファイルに対してこの素晴らしいプラグインを使い続けることができます。
これは質問に直接対処するものではありませんが、現在のセッションを超えて役立つ可能性があります。頻繁に編集する必要があるが、常に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'}
(ファイルタイプに関係なく)単一のバッファのチェックをオフにする別のオプションは、を使用すること: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
、多くのオープンバッファを使用する場合に特に役立ちます。
他のいくつかの人が述べたものと同様に、デフォルトで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/']
私は主にRust Aleのサポートがあまり良くないので、AleとSyntasticを使用しています。私の場合、私はvim-plugパッケージマネージャを使用していますが、これらが自動的に有効にならないように設定しています。代わりにトグル方式を使用します。
私の場合、私はデフォルトでエールが必要で、RustにはSyntasticが必要です
vimrcのプラグイン部分でこれを行いました
Plug 'w0rp/ale', { 'on': 'ALEToggle' }
Plug 'vim-syntastic/syntastic', { 'on': 'SyntasticToggleMode' }
その後、バインドを設定してリンターを有効にします(リンターのニーモニックとしてlを使用します)。
nnoremap <leader>l :ALEToggle<CR>
Rustの場合、同じバインドをオーバーライドします
au FileType rust noremap <buffer> <leader>l :SyntasticToggleMode<CR>
また、vimrcからステータスラインを削除する必要がありました。そうしないと、Syntasticを無効にしてロードするとエラーが発生します。
" Syntastic stuff
"set statusline+=%#warningmsg#
"set statusline+=%{SyntasticStatuslineFlag()}
"set statusline+=%*
let g:rustfmt_autosave = 1
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
" Syntastic stuff
よろしく
let g:syntastic_disabled_filetypes=['html']