On Sun, Nov 12, 2006 at 07:14:49PM -0600, Bill McCarthy wrote:
> On Sun 12-Nov-06 6:17pm -0600, [EMAIL PROTECTED] wrote:
> 
> > I am trying to keep track of the number of buffers in the buffer list.
> >
> > I'm doing this with the following code:
> >         autocmd BufAdd * let g:zbuflistcount += 1
> >         autocmd BufDelete * let g:zbuflistcount -= 1
> >
> > The problem is I found this to be very unreliable in some circumstances,
> > and I'm not sure why.
> 
> One approach is to eliminate the baggage of autocmd
> triggering and write a function to perform the count on the
> fly.  Such as this Vim 7.0 function:

Well I'm reporting the above "g:zbuflistcount" in my 'rulerformat'.

I really don't think I can afford the baggage of calling your function
from within my 'rulerformat'.

> 
>     function CountListedBuffers()
>       let cnt = 0
>       for nr in range(1,bufnr("$"))
>         if buflisted(nr)
>           let cnt += 1
>         endif
>       endfor
>       return cnt
>     endfunction
> 
> You may need to replace the buflisted() function to
> something accurate to your meaning of "in the buffer list."
> 
> -- 
> Best regards,
> Bill
> 

--Matt

Reply via email to