Закройте список всех мест или окна быстрого исправления в VIM

10

Есть ли способ закрыть все списки местоположений и быстро исправить окна с помощью одной команды в vim / gvim?

vonhogen
источник
Мы говорим о окнах или буферах? Потому что я ищу что-то подобное, но для буферов.
Адриен

Ответы:

4
:windo if &buftype == "quickfix" || &buftype == "locationlist" | lclose | endif

Это выполнит команду: lclose во всех окнах, не отображающих списки исправлений или местоположений. У меня не было набора списков местоположений, чтобы протестировать его, поэтому я протестировал с другим типом буфера, и он работал для этого случая.

Возможно, вы захотите сделать это командой или ярлыком в вашем .vimrc.

deterb
источник
lcloseне закрывает списки быстрых исправлений, так что это не будет работать для тех.
trysis
1

Я сопоставляю это с <F11>:

nmap <F11> :windo lcl\|ccl<CR>

В основном: в каждом окне запустите lcl(закрыть список местоположений) и ccl(закройте быстрое исправление)

Марк К Коуэн
источник
0
:windo if &buftype != "quickfix" | lclose | endif

Это выполнит :lcloseкоманду во всех окнах, не отображая списки исправлений или местоположений. У меня не было набора списков местоположений, чтобы протестировать его, поэтому я протестировал с другим типом буфера, и он работал для этого случая.

garyjohn
источник
Перечитайте вопрос, он просит закрыть все окна быстрого исправления, а не все, кроме них.
Определить
0

:ccl | lcl

Сопоставьте это с <Leader>c:

noremap <Leader>c :ccl <bar> lcl<CR>

Майк Рападас
источник
Это закроет только один список местоположений: один для активного окна, если таковой существует.
Чес