dalam vim, dengan
:buffers
Saya mendapatkan jumlah semua buffer sama dengan
:ls
, tetapi
bagaimana saya bisa mendapatkan jumlah buffer?
Gagasan yang sama dari solusi Heptite, tetapi sebagai satu kalimat. Banyak hal lain dapat dilakukan dengan cara ini: dapatkan nama buffer (terima kasih untuk peta), hapus buffer yang cocok dengan pola , /programming/2974192/how-can-i-pare-down- vims-buffer-list-to-only-include-active-buffer / 2974600 # 2974600n dll.
echo len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
Jawaban sejauh ini terlalu rumit. Ini adalah cara bawaan vim:
len(getbufinfo({'buflisted':1}))
Seperti biasa, lihat bantuan vim ( :h getbufinfo()
) untuk penjelasan resmi.
Setahu saya tidak ada metode bawaan di Vim untuk melakukan ini, tetapi Anda bisa membuat fungsi:
Masukkan yang di atas dalam file teks dengan nama yang berakhiran .vim,: sumber, maka Anda dapat melakukan sesuatu seperti:
Catatan 21 Juni: Jika Anda memiliki versi terbaru Vim pada 2017, jawaban Gid di bawah ini adalah solusi optimal.
sumber
Apakah Anda mencari mungkin?
sumber
Jika Anda ingin solusi Heptite sebagai sebuah perintah, tambahkan berikut ini ke file .vimrc Anda:
sumber