in vim, mit
:buffers
Ich bekomme die Anzahl aller Puffer gleich mit
:ls
, aber
wie kann ich die Gesamtzahl der Puffer erhalten?
Dieselbe Idee wie die Lösung von Heptite, jedoch als Einzeiler. Viele andere Dinge können auf diese Weise getan werden: Abrufen des Namens des Puffers (dank Karte), Löschen von Puffern, die einem Muster entsprechen , /programming/2974192/how-can-i-pare-down- vims-buffer-list-to-only-include-active-buffer / 2974600 # 2974600n usw.
echo len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
Die bisherigen Antworten sind zu hackig. Hier ist die integrierte Methode von vim:
len(getbufinfo({'buflisted':1}))
:h getbufinfo()
Die offizielle Erklärung finden Sie wie immer in der Hilfe von vim ( ).
Meines Wissens gibt es in Vim keine integrierte Methode, um dies zu tun, aber Sie könnten eine Funktion erstellen:
Fügen Sie das Obige in eine Textdatei ein, deren Name auf .vim ,: source it endet. Dann können Sie Folgendes tun:
Hinweis vom 21. Juni: Wenn Sie ab 2017 eine aktuelle Version von Vim haben, ist die folgende Antwort von Gid die optimale Lösung.
quelle
Suchen Sie vielleicht?
quelle
Wenn Sie die Lösung von Heptite als Befehl verwenden möchten, fügen Sie Ihrer .vimrc-Datei Folgendes hinzu:
quelle