VimでSyntasticエラーの場所リストパネルを切り替えるキーボードショートカットを設定するにはどうすればよいですか。
:Errors
-ロケーションパネルを表示します
:lclose
-ロケーションパネルを非表示にします
ロケーションリストパネルの可視性を確認する方法がある場合、私はVimScriptに非常に慣れていません。これはかなり簡単です。
クイックフィックスとロケーションリストを区別する方法はわかりませんが、ロケーションリストが表示されているかどうかを確認する代わりに、リストを閉じて、表示されているウィンドウの数が変更されているかどうかを確認することをお勧めします。
function! ToggleErrors()
let old_last_winnr = winnr('$')
lclose
if old_last_winnr == winnr('$')
" Nothing was closed, open syntastic error location panel
Errors
endif
endfunction
* lclose
を試行するソリューションで問題がない場合、アクティブなバッファがある場合は、buftype quickfixで表示されるバッファを確認します。
function! ToggleErrors()
if empty(filter(tabpagebuflist(), 'getbufvar(v:val, "&buftype") is# "quickfix"'))
" No location/quickfix list shown, open syntastic error location panel
Errors
else
lclose
endif
endfunction
。 lclose
はquickfixリストを閉じないことに注意してください。
Ctrl-eでエラーパネルを切り替えるには、次のマッピングを使用できます。
nnoremap <silent> <C-e> :<C-u>call ToggleErrors()<CR>
Syntastic help によると、Syntasticエラーウィンドウを閉じるコマンドは次のとおりです。
:SyntasticReset