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


10

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


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

Ответы:


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

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

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


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

1

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

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

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


0
:windo if &buftype != "quickfix" | lclose | endif

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


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

0

:ccl | lcl

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

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


Это закроет только один список местоположений: один для активного окна, если таковой существует.
Чес
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.