Puoi cancellare completamente un buffer usando il comando: bwipeout (o: bw). Ciò rimuove completamente il buffer dalla memoria, inclusi eventuali segni, impostazioni delle opzioni, ecc. Che sono stati aggiunti ad esso. Allo stesso modo: bdelete (o: bd) rimuove il buffer, ma lo lascia in memoria e mantiene i segni e le impostazioni delle opzioni.
Secondo il commento di Tom Hale, la documentazione di Vim consiglia di usare: bd over: bw a meno che tu non sappia cosa stai facendo. Tendo a usare: bw perché mi piace l'idea di rimuovere completamente il buffer dalla memoria, e non faccio molto uso di segni, impostazioni di opzioni specifiche del buffer, ecc., Al punto da averne bisogno di rimanere dopo aver chiuso il mio buffer.
Come il comando: quit (: q), Vim genererà un errore se il buffer è cambiato. Per risolvere questo problema, è possibile aggiungere un punto esclamativo dopo il comando per sopprimere il prompt. Un'altra opzione, invece di aggiungere punti esclamativi a tutto, è quella di aggiungere "set confirm" al tuo vimrc. Con questo set, vim ti chiederà di salvare le modifiche ai file alla chiusura.
: bufdo è un comando utile che esegue un altro comando su tutti i buffer attivi. La combinazione del comando: bufdo con il comando: bw /: bd consente di rimuovere contemporaneamente tutti i buffer attivi. È ancora possibile utilizzare il punto esclamativo per eliminare gli errori, ma se lo si inserisce dopo: bufdo, after: bw o after entrambi provoca risultati diversi per ciascuno:
: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
Ecco alcuni altri utili comandi del buffer:
: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)
C'è molto di più nella gestione del buffer che non rientra nell'ambito di questa domanda. Dai un'occhiata a:
http://vim.wikia.com/wiki/Vim_buffer_FAQ
http://vimdoc.sourceforge.net/htmldoc/windows.html#buffers