On Mon, Nov 13, 2006 at 08:25:42AM -0800, Eggum, DavidX S wrote: > Try this (lightly tested): > > autocmd BufDelete * let s:prev_count -= 1 > set rulerformat=%60(%=%{GetBufCount()}%) > > let s:prev_last = 0 > let s:prev_count = 0 > function! GetBufCount() > let last = bufnr('$') > if last != s:prev_last > " A buffer has been added, update the count > let lst = range(s:prev_last+1, last) > call filter(lst, 'buflisted(v:val)') > let s:prev_count += len(lst) > let s:prev_last = last > endif > return s:prev_count > endfunction
Yeah only problem is it won't pick up ":set nobuflisted". However, the filter call might be a big speed boost; so I'll benchmark it. > > David --Matt