29

vimでSyntastic Error Location List Panelを切り替えるキーボードショートカットを設定するにはどうすればよいですか。

:Errors- ロケーションパネルを表示

:lclose- ロケーション パネルを非表示にします

Location List Panel の可視性を確認する方法があれば、私は VimScript を初めて使用します。これはかなり簡単に行うことができます。

4

2 に答える 2

25

クイックフィックスとロケーション リストを区別する*方法がわかりませんが、ロケーション リストが表示されているかどうかを確認する代わりに、リストを閉じて、表示されているウィンドウの数が変更されたかどうかを確認することをお勧めします。

function! ToggleErrors()
    let old_last_winnr = winnr('$')
    lclose
    if old_last_winnr == winnr('$')
        " Nothing was closed, open syntastic error location panel
        Errors
    endif
endfunction

* lclosebuftype クイックフィックスで表示されるバッファがアクティブかどうかを確認するソリューションに問題がない場合:

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クイックフィックスリストを閉じないことに注意してください。

Ctrl-e でエラー パネルを切り替えるには、次のマッピングを使用できます。

nnoremap <silent> <C-e> :<C-u>call ToggleErrors()<CR>
于 2013-07-07T19:58:14.067 に答える
8

Syntastic helpによると、Syntastic エラー ウィンドウを閉じるコマンドは次のとおりです。

:SyntasticReset
于 2016-10-14T09:41:09.577 に答える