в том, с
:buffers
Я получаю количество всех буферов одинаково с
:ls
, но
как я могу получить общее количество буферов?
Та же идея, что и у решения Heptite, но в качестве одного лайнера. Многие другие вещи могут быть сделаны таким образом: получить имя буфера (благодаря карте), уничтожить буферы, которые соответствуют шаблону , /programming/2974192/how-can-i-pare-down- vims-buffer-list-to-only-include-active-buffers / 2974600 # 2974600n и т. д.
echo len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
Ответы пока слишком нахальные. Вот встроенный способ vim:
len(getbufinfo({'buflisted':1}))
Как всегда, см. Справку vim ( :h getbufinfo()
) для официального объяснения.
Насколько мне известно, в Vim нет встроенного метода для этого, но вы можете создать функцию:
Поместите вышесказанное в текстовый файл с именем, оканчивающимся на .vim,: source it, тогда вы можете сделать что-то вроде:
Примечание от 21 июня: если у вас последняя версия Vim по состоянию на 2017 год, ответ Гида ниже является оптимальным решением.
источник
Вы ищете возможно?
источник
Если вы хотите использовать решение Heptite в качестве команды, добавьте в файл .vimrc следующее:
источник