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?


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.


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ą)


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.


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>


Spowoduje to zamknięcie tylko jednej listy lokalizacji: tej dla aktywnego okna, jeśli taka istnieje.
ches
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.