Gdybym miał X lub więcej okien otwartych w sesji VIM i chciałem na chwilę szybko ukryć wszystko oprócz aktywnego, a następnie przywrócić okna do układu, w którym miałem je, jak to zrobić?
W Vimie 7 i nowszych możesz do tego użyć „zakładki strony” (tj. Zakładki „w stylu GUI”). Możesz użyć :tabpolecenia z jednym :splitlub :sbuffer:
:tab split
:tab sp " shorter version
:tab sbuffer
:tab sb " shorter version
Oba spliti sbufferrobią prawie to samo, gdy są używane bez dodatkowych argumentów (podziel bieżący bufor). Prawdopodobnie będziesz chciał użyć, splitjeśli spodziewasz się załadować jakąś (prawdopodobnie jeszcze nie załadowaną) nazwę ścieżki ( split path/to/some/file; chociaż możesz po prostu użyć :tabezamiast tego, ponieważ jest to w kontekście otwierania nowej karty); sbufferułatwia przejście do istniejącego bufora ( sb {bufnum}lub sb {bufname}).
Po otwarciu nowej karty możesz używać gTi gtprzełączać się między wynikowymi kartami (lub kontrolkami GUI, jeśli używasz wersji Vima dla GUI). Po zakończeniu korzystania z karty z jednym oknem wystarczy :qzamknąć okno (a tym samym kartę) i powrócić do oryginalnej karty (z oryginalnym układem okna), lub użyć :tabclose( :tabc) lub wrócić do oryginalnej karty i użyć :tabonly( :tabo).
Używam CTRL-W _, aby poziomo „wypchnąć” inne okna na bok, dzięki czemu bieżące okno rozszerzy się na największy dostępny obszar. Użyj CTRL-W | zrobić to samo w pionie. Jestem pewien, że jest prawdopodobnie sposób na zrobienie obu naraz, ale nie zauważyłem tego ani nie szukałem. Szukaj: pomoc CTRL-W
Aby je przywrócić, wykonaj CTRL-W =. Jedynym zastrzeżeniem jest to, że nie przywrócono ich pierwotnej konfiguracji. CTRL-W = faktycznie ponownie oblicza najlepsze dopasowanie dla wszystkich okien na ekranie.
O ile mi wiadomo, nie ma sposobu, aby po prostu przełączać się między dwoma różnymi układami okien, ale możesz ukryć wszystkie inne okna, wydając polecenie :only(lub :on). Zobacz pomoc Vima dla tego polecenia .
Odpowiedzi:
W Vimie 7 i nowszych możesz do tego użyć „zakładki strony” (tj. Zakładki „w stylu GUI”). Możesz użyć
:tab
polecenia z jednym:split
lub:sbuffer
:Oba
split
isbuffer
robią prawie to samo, gdy są używane bez dodatkowych argumentów (podziel bieżący bufor). Prawdopodobnie będziesz chciał użyć,split
jeśli spodziewasz się załadować jakąś (prawdopodobnie jeszcze nie załadowaną) nazwę ścieżki (split path/to/some/file
; chociaż możesz po prostu użyć:tabe
zamiast tego, ponieważ jest to w kontekście otwierania nowej karty);sbuffer
ułatwia przejście do istniejącego bufora (sb {bufnum}
lubsb {bufname}
).Po otwarciu nowej karty możesz używać
gT
igt
przełączać się między wynikowymi kartami (lub kontrolkami GUI, jeśli używasz wersji Vima dla GUI). Po zakończeniu korzystania z karty z jednym oknem wystarczy:q
zamknąć okno (a tym samym kartę) i powrócić do oryginalnej karty (z oryginalnym układem okna), lub użyć:tabclose
(:tabc
) lub wrócić do oryginalnej karty i użyć:tabonly
(:tabo
).źródło
Używam CTRL-W _, aby poziomo „wypchnąć” inne okna na bok, dzięki czemu bieżące okno rozszerzy się na największy dostępny obszar. Użyj CTRL-W | zrobić to samo w pionie. Jestem pewien, że jest prawdopodobnie sposób na zrobienie obu naraz, ale nie zauważyłem tego ani nie szukałem. Szukaj: pomoc CTRL-W
Aby je przywrócić, wykonaj CTRL-W =. Jedynym zastrzeżeniem jest to, że nie przywrócono ich pierwotnej konfiguracji. CTRL-W = faktycznie ponownie oblicza najlepsze dopasowanie dla wszystkich okien na ekranie.
źródło
O ile mi wiadomo, nie ma sposobu, aby po prostu przełączać się między dwoma różnymi układami okien, ale możesz ukryć wszystkie inne okna, wydając polecenie
:only
(lub:on
). Zobacz pomoc Vima dla tego polecenia .źródło