> From: Charles E Campbell Jr [mailto:[EMAIL PROTECTED] > > David Howland wrote: > > > A.J.Mechelynck wrote: > > > >> You mean if the buffer is displayed it would do nothing? > > > > No. Delete the buffer, but keep the window open. > > > > I often find myself in this situation: > > - Split window, two buffers open. > > - Open a new file, look at it, then want to close it. > > - i would expect to ":bd" to delete the current buffer, leaving the > > remaining two open, one for each window. But for some > reason, it also > > removes my split. Why should deleting a buffer change how > I have my > > splits set up? > > Because a window must always have a buffer to display. See > > "Deleting a buffer without changing your window layout" > http://vim.sourceforge.net/tips/tip.php?tip_id=622
This is my take at this (sorry, no comments): function! WipeoutBuffer() let w_cur = winnr() let b_cur = winbufnr(0) bnext let b_new = winbufnr(0) if b_new == b_cur enew let b_new = winbufnr(0) endif windo if winbufnr(0) == b_cur | execute b_new . 'b' | endif execute w_cur . 'wincmd w' execute 'bwipeout! ' . b_cur endfun