Oft lade ich einige Informationen in einen temporären Puffer und schließe ihn dann mit :clo!
. Aber dies verbirgt den Puffer, anstatt ihn vollständig zu entladen, obwohl ich ihn nohidden
gesetzt habe. Ich finde das lästig, da ich eine zusätzliche Bestätigung bekomme, wenn ich Vim beende, über Inhalte, die ich bereits verworfen habe.
Ich könnte :q!
stattdessen einfach verwenden , aber das ist eine schlechte Angewohnheit, weil es Vim vollständig beendet, wenn nur noch ein Puffer übrig ist, was ebenfalls ärgerlich ist. Schlimmer noch, wenn ich tippe :qa!
, kann ich viel Arbeit verlieren.
Gibt es einen Mittelweg? Ich hätte gerne einen Befehl, der den aktuellen Puffer löscht, aber Vim nicht beendet. Ich bin nicht dagegen, es in Vimscript zu schreiben, aber ich würde es lieber vermeiden, wenn der Befehl bereits vorhanden ist.
quelle
:ls
leichter zu merken (imo) und macht dasselbe wie:buffers
Sie können einen Puffer mit dem Befehl: bwipeout (oder: bw) vollständig löschen. Dadurch wird der Puffer vollständig aus dem Speicher entfernt, einschließlich aller Markierungen, Optionseinstellungen usw., die Sie hinzugefügt haben. In ähnlicher Weise entfernt: bdelete (oder: bd) den Puffer, belässt ihn jedoch im Speicher und behält Markierungen und Optionseinstellungen bei.
Gemäß dem Kommentar von Tom Hale wird in der Vim-Dokumentation empfohlen, Folgendes zu verwenden: bd over: bw, es sei denn, Sie wissen, was Sie tun. Ich benutze normalerweise: bw, weil ich die Idee habe, den Puffer vollständig aus dem Speicher zu entfernen, und Markierungen, pufferspezifische Optionseinstellungen usw. nicht so oft verwende, dass sie nach dem Schließen des Puffers verbleiben müssen.
Wie der Befehl: quit (: q) gibt Vim einen Fehler aus, wenn sich der Puffer geändert hat. Um dies zu beheben, können Sie nach dem Befehl ein Ausrufezeichen einfügen, um die Eingabeaufforderung zu unterdrücken. Eine andere Möglichkeit, anstatt Ausrufezeichen zu setzen, besteht darin, "set confirm" zu Ihrem vimrc hinzuzufügen. Bei diesem Set fordert vim Sie auf, die Dateiänderungen beim Schließen zu speichern.
: bufdo ist ein nützlicher Befehl, der einen weiteren Befehl für alle aktiven Puffer ausführt. Wenn Sie den Befehl: bufdo mit dem Befehl: bw /: bd kombinieren, können Sie alle aktiven Puffer gleichzeitig entfernen. Sie können das Ausrufezeichen weiterhin verwenden, um Fehler zu unterdrücken. Ob Sie es jedoch nach: bufdo, nach: bw oder nach beiden einfügen, führt zu unterschiedlichen Ergebnissen:
Hier sind einige andere nützliche Pufferbefehle:
Es gibt noch viel mehr im Umgang mit Puffern, das von dieser Frage ausgeschlossen ist. Schauen Sie sich
Folgendes an: http://vim.wikia.com/wiki/Vim_buffer_FAQ http://vimdoc.sourceforge.net/htmldoc/windows.html#buffers
quelle
:bd
in den meisten Fällen bevorzugt wird:bw
außer "Alles, was mit dem Puffer zu tun hat, geht verloren. Alle Markierungen in diesem Puffer werden ungültig, die Optionseinstellungen gehen verloren usw." noch alles andere . Das erscheint mir völlig vernünftig, wenn ich einen Puffer schließen möchte, wie es der Fall wäre, wenn ich Vim vollständig beende.