Переключить панель локации ошибок в синтетическом
Как настроить сочетание клавиш для переключения панели списка расположений Syntastic Error в vim.
:Errors
- показывает панель местоположения
:lclose
- Скрывает панель расположения
Я очень новичок в VimScript, если бы был способ проверить видимость панели списка местоположений. Это должно быть довольно легко сделать.
2 ответа
Я не знаю, как различать * быстрые исправления и списки местоположений, но вместо проверки, отображается ли список местоположений, я бы предложил просто закрыть его и проверить, изменилось ли количество отображаемых окон:
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:
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>
Согласно справке Syntastic, команда закрыть окно Syntastic error:
:SyntasticReset