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: 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