Wenn in einer VIM-Sitzung x oder mehr Fenster geöffnet waren und ich alle für einen Moment schnell alle außer dem aktiven ausblenden wollte, dann die Fenster wieder in das Layout zurückversetzen, in dem ich sie hatte. Wie würde ich das tun?
9
Antworten:
In Vim 7 und höher können Sie hierfür eine „Registerkarte“ verwenden (dh eine Registerkarte im GUI-Stil). Sie können den
:tab
Befehl entweder mit:split
oder verwenden:sbuffer
:Beides
split
undsbuffer
fast dasselbe, wenn es ohne zusätzliche Argumente verwendet wird (teilen Sie den aktuellen Puffer auf). Sie werden es wahrscheinlich verwenden wollen,split
wenn Sie einen (möglicherweise noch nicht geladenen) Pfadnamen laden möchten (split path/to/some/file
obwohl Sie dies:tabe
stattdessen verwenden könnten, da dies im Zusammenhang mit dem Öffnen eines neuen Tabs steht).sbuffer
erleichtert das Wechseln zu einem vorhandenen Puffer (sb {bufnum}
odersb {bufname}
).Sobald Sie Ihren neuen Tab geöffnet haben, können Sie verwenden ,
gT
undgt
zwischen dem resultierend Tabs zu wechseln (oder den GUI - Controls , wenn Sie eine GUI - Version von Vim verwenden). Wenn Sie mit der Registerkarte "Einzelfenster" fertig sind, schließen Sie einfach:q
das Fenster (und damit die Registerkarte) und kehren zu Ihrer ursprünglichen Registerkarte (mit dem ursprünglichen Fensterlayout) zurück oder verwenden Sie:tabclose
(:tabc
) oder wechseln Sie zurück zu Ihrer ursprünglichen Registerkarte und verwenden Sie:tabonly
(:tabo
).quelle
Ich verwende STRG-W _, um die anderen Fenster horizontal aus dem Weg zu "schieben", sodass das aktuelle Fenster auf den größten verfügbaren Bereich erweitert wird. Verwenden Sie STRG-W | das gleiche vertikal zu tun. Ich bin mir sicher, dass es wahrscheinlich eine Möglichkeit gibt, beides gleichzeitig zu tun, aber ich habe es nicht bemerkt oder danach gesucht. Schauen Sie rein: helfen Sie STRG-W
Um sie wiederherzustellen, drücken Sie STRG-W =. Eine Einschränkung ist jedoch, dass sie nicht in ihrer ursprünglichen Konfiguration wiederhergestellt werden. STRG-W = berechnet tatsächlich die beste Anpassung für alle Fenster auf dem Bildschirm neu.
quelle
Soweit ich weiß, gibt es keine Möglichkeit, einfach zwischen zwei verschiedenen Fensterlayouts zu wechseln, aber Sie können alle anderen Fenster ausblenden, indem Sie den Befehl
:only
(oder:on
) eingeben . Weitere Informationen zu diesem Befehl finden Sie in der Vim-Hilfe .quelle