Zamknij wszystkie listy lokalizacji lub okna szybkiej naprawy w vimie

10

Czy istnieje sposób zamknięcia wszystkich list lokalizacji i szybkiej naprawy okien za pomocą jednego polecenia w vim / gvim?

vonhogen
źródło
Czy mówimy o oknach lub buforach? Bo szukam czegoś podobnego, ale buforów.
Adrien

Odpowiedzi:

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

Spowoduje to wykonanie polecenia: lclose we wszystkich oknach, w których nie są wyświetlane poprawki ani listy lokalizacji. Nie miałem zestawu list lokalizacji do przetestowania, więc przetestowałem inny typ bufora i zadziałało w tym przypadku.

Prawdopodobnie zechcesz również uczynić go poleceniem lub skrótem w .vimrc.

deterb
źródło
lclosenie zamyka list szybkich poprawek, więc to nie działałoby dla nich.
trysis
1

Mapuję to na <F11>:

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

Zasadniczo: w każdym oknie uruchom lcl(zamknij listę lokalizacji) i ccl(zamknij szybką)

Mark K Cowan
źródło
0
:windo if &buftype != "quickfix" | lclose | endif

Spowoduje to wykonanie :lclosepolecenia we wszystkich oknach, w których nie są wyświetlane listy poprawek ani lokalizacji. Nie miałem zestawu list lokalizacji do przetestowania, więc przetestowałem inny typ bufora i zadziałało w tym przypadku.

garyjohn
źródło
Ponownie zadaj pytanie: prosi o zamknięcie wszystkich szybkich okien naprawczych, a nie zamknięcie wszystkiego oprócz nich.
deterb
0

:ccl | lcl

Zamapuj na <Leader>c:

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

Mike Rapadas
źródło
Spowoduje to zamknięcie tylko jednej listy lokalizacji: tej dla aktywnego okna, jeśli taka istnieje.
ches