in vim, with
:buffers
Otrzymuję taką samą liczbę wszystkich buforów
:ls
, ale
jak mogę uzyskać całkowitą liczbę buforów?
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ę:
Umieść powyższe w pliku tekstowym, którego nazwa kończy się na .vim,: pobierz go, a następnie możesz zrobić coś takiego:
Uwaga z 21 czerwca: Jeśli masz najnowszą wersję Vima z 2017 roku, odpowiedź Gida poniżej jest optymalnym rozwiązaniem.
źródło
Szukasz może?
źródło
Jeśli chcesz mieć rozwiązanie Heptite jako polecenie, dodaj do pliku .vimrc:
źródło