如何设置键盘快捷键以在vim中切换Syntastic Error Location List Panel。
:Errors
- 显示位置面板
:lclose
- 隐藏位置面板
如果有办法检查位置列表面板的可见性,我对VimScript很新。这应该很容易做到。
答案 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