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

Aks*_*ora 29 vim syntastic

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

:Errors - 显示位置面板

:lclose - 隐藏位置面板

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

ZyX*_*ZyX 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
Run Code Online (Sandbox Code Playgroud)

*如果您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
Run Code Online (Sandbox Code Playgroud)

.请注意,lclose不会关闭quickfix列表.

要使用Ctrl-e切换错误面板,您可以使用以下映射

nnoremap <silent> <C-e> :<C-u>call ToggleErrors()<CR>
Run Code Online (Sandbox Code Playgroud)


Pok*_*ace 6

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

:SyntasticReset
Run Code Online (Sandbox Code Playgroud)