Ich kann nicht einmal den Befehl Strg-D verwenden, um den Bildschirm zu schließen, da ich gerade einen Ordner durchsuche. Es hilft nicht, Vim zu schließen, da ich in Screen bin, bleibt alles von der letzten Sitzung.
Léo Léopold Hertz 준영
2
Ich denke, Sie haben Puffer mit Fenstern verwechselt. : q oder: quit schließt das aktuelle Fenster. Verwenden Sie: bd oder: bdelete, um einen Puffer zu entladen und aus der Pufferliste zu löschen. Sunakus Antwort ist die einzige bis zu diesem Punkt, die es richtig gemacht hat :)
Vielen Dank! Du hast meinen Tag gerettet. Mein Terminal wäre ohne Ihren Befehl nutzlos.
Léo Léopold Hertz 준영
2
: qa ist das, was das OP wollte, aber natürlich beendet es auch vim. Für gvim ist dies oft unerwünscht, wenn Sie einfach alles vollständig schließen möchten, aber Ihr GUI-Fenster nicht verlieren möchten. Verwenden Sie daher eine der folgenden Techniken, um alle Puffer zu schließen, ohne sie zu beenden.
Yetanotherjosh
82
Mit dem :bufdoBefehl können Sie einen Befehl für alle Puffer ausführen. In diesem Fall möchten Sie :bufdo bdeletealle offenen Puffer auf einmal schließen.
Da bdelete einen Bereich akzeptiert, können Sie auch Folgendes tun: 1.9999bd, wobei 9999 nur eine Zahl ist, die hoch genug ist, um eine offene Puffernummer plausibel einzuschließen.
Vielen Dank für Ihre Antwort! - - Ich kann den Unterschied zwischen der Option [!] Und ohne sie nicht erkennen. Alle meine Puffer werden nur durch beide Befehle ausgeblendet, auch meine gespeicherten. Wie können Sie den Unterschied sehen?
Léo Léopold Hertz 준영
1
Ich habe das von der vim-Hilfe genommen und du hast recht, ich sehe keinen Unterschied zwischen den beiden.
Oli
18
:auf! schließt tatsächlich andere Fenster, keine Puffer.
Kbaribeau
3
Das ist einfach falsch. Puffer sind ganz andere Tiere als Fenster.
Rbellamy
1
Ja, Puffer bleiben offen. Versuchen Sie das:% bd aus der Antwort unten, das hat bei mir funktioniert!
Dies ist nicht genau das, wonach Sie gefragt haben, aber das Folgende kann zu einem gewünschten Ergebnis führen. Es:
macht die aktuelle Registerkarte zur einzigen geöffneten Registerkarte ( :tabo)
macht das Fenster in der Registerkarte zum einzigen geöffneten Fenster ( :only)
zeigt den ersten Puffer im geöffneten Fenster an ( 1 b)
löscht Puffer mit den Nummern 2 bis 2000 ( 2,2000bd)
:tabo | :only | 1 b | 2,2000 bd
Sollten mehr als 2000 Puffer geöffnet sein, passen Sie diese entsprechend an.
Wenn Sie einfach alle Puffer löschen möchten, 1,2000bdsollten Sie die Aufgabe erledigen. Beachten Sie jedoch, dass für alle geöffneten Registerkarten und Fenster neue, leere Puffer erstellt werden.
Nett! Ich wusste nicht einmal, dass Sie Befehle im vim-Befehlsmodus zusammenpfeifen können. +1 dafür.
Jason Down
1
In diesem Fall ist es nicht wirklich eine "Pfeife". Mit dem Operator "bar" können Sie in Vim nur mehrere Befehle in einer einzigen Zeile ausführen. doc
Justin Force
5
Das spart aber nicht die Puffer. Vielleicht: wqall! : xall! ist ein bisschen besser.
Antworten:
:qall
oder:qa
schließt alle Fensterquelle
Mit dem
:bufdo
Befehl können Sie einen Befehl für alle Puffer ausführen. In diesem Fall möchten Sie:bufdo bdelete
alle offenen Puffer auf einmal schließen.quelle
:% bd (elete)
Ich denke, das ist es, wonach du fragst
quelle
:bd
könnte sein?schließt alle Puffer außer dem, den Sie gerade bearbeiten (der Cursor befindet sich in diesem Puffer).
schließt auch modifizierte Puffer, aber diese werden zu versteckten Puffern.
listet alle Puffer mit ihrem Status auf (versteckt, ...)
Etwas Hilfe:
quelle
:on
schließt KEINE Puffer.Es werden nur die anderen Fenster geschlossen.
quelle
Dies ist nicht genau das, wonach Sie gefragt haben, aber das Folgende kann zu einem gewünschten Ergebnis führen. Es:
:tabo
):only
)1 b
)löscht Puffer mit den Nummern 2 bis 2000 (
2,2000bd
):tabo | :only | 1 b | 2,2000 bd
Sollten mehr als 2000 Puffer geöffnet sein, passen Sie diese entsprechend an.
Wenn Sie einfach alle Puffer löschen möchten,
1,2000bd
sollten Sie die Aufgabe erledigen. Beachten Sie jedoch, dass für alle geöffneten Registerkarten und Fenster neue, leere Puffer erstellt werden.quelle
Das spart aber nicht die Puffer. Vielleicht: wqall! : xall! ist ein bisschen besser.
quelle
Wenn Sie VIM vollständig stecken lassen, sollten Sie es dennoch von außerhalb von VIM töten können.
kill %vim
ps
. Das kannst du töten:Wenn ich also das VIM beenden möchte, das gerade bearbeitet wird
a.pl
, können Sie Folgendes tun:Dies sollte auch innerhalb des Bildschirms funktionieren
quelle
:q!
arbeitet immer für mich
quelle