I usually open a few windows and keep some buffers open. Since my MO in buffer exploring is to use quick shortcuts to :bn
and :bp
, I want to close unneeded buffers from distracting my buffer surfing.
But the pain is, issuing :bd
and :bw
results in closing the window as well, in case I have multiple ones open. How do I close (delete) a buffer and leave the windows intact?
Solution inspired by @peth's answer
:command! BW :bn|:bd#
It is simple. Doesn't work well with only one buffer open (I get different behaviour depending on the way I open the files) but it isn't a big issue. 🙂
Best Answer
It can be a pain, this question is raised over and over on
#vim
(Freenode), too.Some people recommend not deleting buffers and switching with
:b partial<Tab>
instead of:bn
, which works, but isn't what you're asking.The best way I know of to do that is to switch to another buffer and then
:bd#
, which you could map, of course.See also Deleting a buffer without closing the window on the Vim wikia.