Odpowiedzi:
Ten sam pomysł niż rozwiązanie Heptite, ale jako jedna wkładka. Wiele innych rzeczy można zrobić w ten sposób: uzyskaj nazwę bufora (dzięki mapie), bufory czyszczenia, które pasują do wzorca , /programming/2974192/how-can-i-pare-down- vims-buffer-list-to-only-include-active-buffers / 2974600 # 2974600n itp.
echo len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
Odpowiedzi do tej pory są zbyt trudne. Oto wbudowany sposób vima:
len(getbufinfo({'buflisted':1}))
Jak zawsze zobacz :h getbufinfo()
oficjalne wyjaśnienie w pomocy vima ( ).
O ile wiem, w Vimie nie ma wbudowanej metody, ale możesz utworzyć funkcję:
function! NrBufs()
let i = bufnr('$')
let j = 0
while i >= 1
if buflisted(i)
let j+=1
endif
let i-=1
endwhile
return j
endfunction
Umieść powyższe w pliku tekstowym, którego nazwa kończy się na .vim,: pobierz go, a następnie możesz zrobić coś takiego:
:let buffer_count = NrBufs()
:echo buffer_count
Uwaga z 21 czerwca: Jeśli masz najnowszą wersję Vima z 2017 roku, odpowiedź Gida poniżej jest optymalnym rozwiązaniem.
Szukasz może?
:echo(bufnr('$'))