在合成中切换错误位置面板

时间:2013-07-07 13:58:49

标签: vim syntastic

如何设置键盘快捷键以在vim中切换Syntastic Error Location List Panel。

:Errors - 显示位置面板

:lclose - 隐藏位置面板

如果有办法检查位置列表面板的可见性,我对VimScript很新。这应该很容易做到。

2 个答案:

答案 0 :(得分:25)

我不知道如何区分* quickfix和位置列表,但是代替检查位置列表是否显示我建议关闭它并检查显示的窗口数是否已更改:

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>

答案 1 :(得分:5)

根据Syntastic help,关闭Syntastic错误窗口的命令是:

:SyntasticReset