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:
:bd - deletes the current buffer, error if there are unwritten changes
:bd! - deletes the current buffer, no error if unwritten changes
:bufdo bd - deletes all buffers, stops at first error (unwritten changes)
:bufdo! bd - deletes all buffers except those with unwritten changes
:bufdo! bd! - deletes all buffers, no error on any unwritten changes
:bw - completely deletes the current buffer, error if there are unwritten changes
:bw! - completely deletes the current buffer, no error if unwritten changes
:bufdo bw - completely deletes all buffers, stops at first error (unwritten changes)
:bufdo! bw - completely deletes all buffers except those with unwritten changes
:bufdo! bw! - completely deletes all buffers, no error on any unwritten changes
:set confirm - confirm changes (Yes, No, Cancel) instead of error
Hier sind einige andere nützliche Pufferbefehle:
:ls - list open buffers
:b N - open buffer number N (as shown in ls)
:tabe +Nbuf - open buffer number N in new tab
:bnext - go to the next buffer (:bn also)
:bprevious - go to the previous buffer (:bp also)
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