Ich habe meine Fenster horizontal geteilt. Wie kann ich nun zum normalen Modus zurückkehren, dh kein geteiltes Fenster, nur ein Fenster, ohne alle meine geöffneten Fenster abzubrechen. Ich habe 5 und möchte nicht "beenden", sondern nur aus dem geteilten Fenster herauskommen.
231
Antworten:
Drücken Sie Control+ wund drücken Sie dann q, um jedes Fenster gleichzeitig zu schließen.
Update : Berücksichtigen Sie auch die Antwort von eckes, die für Sie möglicherweise nützlicher ist, einschließlich
:on
( siehe unten), wenn Sie nicht jedes Fenster einzeln ausführen möchten.quelle
hidden
scheint jedoch zu helfen. Was ich aber meinte war, wie fügt man ein! zu einer Verknüpfung? Ist es "Cw! Q", "Cw q!", "! Cw q", "C-! W q"? Ich denke, keiner von denen, aber ich habe bereits vergessen, wie man neue Puffer erstellt, also ist dies eine Übung für den Leser.Um alle Splits zu schließen, stelle ich in der Regel um die Cursor in dem Fenster , das das sein soll auf -ly sichtbaren und dann tun ,
:on
das das aktuelle Fenster das macht auf -ly sichtbar. Schöne Erinnerung.Bearbeiten: hat
:help :on
mir gezeigt, dass diese Befehle gleich sind::on
:only
Jedes dieser vier Fenster schließt alle Fenster außer dem aktiven.
quelle
:on
wird mitE445: Other window contains changes
dem anderen Fenster geantwortet und das andere Fenster nicht geschlossen. Zum Beispiel erstelle ich normalerweise ein neues Fenster und lese darin eine Datei ein, aus der ich ziehen möchte. In diesem Fall betrachtet Vim das andere Fenster als ungeschriebene Änderungen. Verwenden Sie:on!
in einem solchen Fall, um ein Schließen zu erzwingen.Um alle Fenster außer dem aktuellen zu schließen, verwenden Sie:
CTRL+ w,o
Das heißt, zuerst CTRL+ wund dann o.
quelle
CTRL+W o
getippten Vorgang rückgängig zu machen .Zwei Alternativen zum Schließen des aktuellen Fensters sind
ZZ
undZQ
, die Änderungen am angezeigten Puffer speichern bzw. nicht speichern.quelle
Z
weil ich Deutscher bin. (Spoiler: Tastaturlayout, wenn Sie häufig zwischen DE / EN-Einstellungen wechseln)Der Befehl: hide blendet das aktuell fokussierte Fenster aus. Ich denke, das ist die Funktionalität, die Sie suchen.
Um zwischen Fenstern zu navigieren, geben Sie Strg + w gefolgt von einer Navigationstaste (h-, j-, k-, l- oder Pfeiltasten) ein.
Für weitere Informationen laufen Sie
:help window
und:help hide
in vim.quelle
Von
:help opening-window
(Suche nach "Fenster schließen" -/Closing a window
):q[uit]
Schließen Sie das aktuelle Fenster und den Puffer. Wenn es das letzte Fenster ist, wird auch vim beendet:bd[elete]
Entladen Sie den aktuellen Puffer und schließen Sie das aktuelle Fenster:qa[all]
oder:quita[ll]
schließt alle Puffer und Fenster und beendet vim (um:qa!
zu erzwingen, ohne Änderungen zu speichern):clo[se]
Schließen Sie das aktuelle Fenster, aber lassen Sie den Puffer offen. Wenn nur ein Fenster vorhanden ist, schlägt dieser Befehl fehl:hid[e]
Blenden Sie den Puffer im aktuellen Fenster aus (Lesen Sie mehr unter:help hidden
):on[ly]
Schließen Sie alle anderen Fenster, lassen Sie jedoch alle Puffer offenquelle
Ich habe festgestellt, dass ctrl+ wzu dem Fenster, das Sie schließen möchten, dann einfach tun :q. Das funktioniert bei mir.
quelle
^W^W:q
als mögliche Lösung erwähnt wird, also werde ich eine Spaltung los. Beachten Sie, dass^W to the window you want to close
anscheinend mehrere Verwendungszwecke^W^W
Ich verstehe Ihre Absicht gut, ich verwende ausschließlich Puffer und teile sie gelegentlich auf, wenn nötig.
unten ist ein Auszug von mir
.vimrc
Das passt ganz gut zu meinem Workflow
Natürlich können Sie diesen unordentlichen Teil in eine Funktion einwickeln , z
Nebenbei bemerkt : Ich remap
q
, da ich nicht verwenden Makro für die Bearbeitung, verwenden Sie stattdessen:s
,:g
,:v
, und externen Textverarbeitungsbefehl , wenn nötig, zum Beispiel:'{,'}!awk 'some_programm'
, oder Verwendung:norm! normal-command-here
.quelle
Genau wie die anderen zuvor gesagt haben, müssen Sie ctrl+ wund dann drücken o. Dadurch wird das aktuelle Fenster "maximiert", während die anderen Fenster geschlossen werden. Wenn Sie es "unmaximieren" möchten, gibt es dafür ein Plugin namens ZoomWin . Andernfalls müssten Sie das Fenster-Setup von Grund auf neu erstellen.
quelle
Okay, ich habe mich gerade gelöst und wieder mit der Bildschirmsitzung verbunden, und ich bin wieder auf dem normalen Bildschirm, den ich wollte
quelle
vim
geteilte Fenstermodus nicht verlassen , sondern nur der geteilte Fenstermodusscreen
- was leicht verwechselt werden kann, vielleicht auch andere. Übrigens finde ich diese Bildschirmfunktion ärgerlich, daher verwende ich jetzt standardmäßigtmux
eine erneute Anbringung mit allen intakten Teilungen.