如何设置键盘快捷键以在 vim 中切换合成错误位置列表面板。
:Errors
- 显示位置面板
:lclose
- 隐藏位置面板
如果有办法检查 Location List Panel 的可见性,我对 VimScript 还是很陌生。这应该很容易做到。
我不知道如何区分 * 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>
根据Syntastic 帮助,关闭 Syntastic 错误窗口的命令是:
:SyntasticReset