em vim, com
:buffers
Eu recebo o número de todos os buffers da mesma forma
:ls
, mas
como posso obter o número total de buffers?
A mesma idéia que a solução de Heptite, mas como uma única linha. Muitas outras coisas podem ser feitas dessa maneira: obtenha o nome do buffer (graças ao mapa), limpe os buffers que correspondem a um padrão , /programming/2974192/how-can-i-pare-down- vims-buffer-list-only-include-active-buffers / 2974600 # 2974600n etc.
echo len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
As respostas até agora são muito hacky. Aqui está a maneira integrada do vim:
len(getbufinfo({'buflisted':1}))
Como sempre, consulte a ajuda do vim ( :h getbufinfo()
) para obter a explicação oficial.
Que eu saiba, não há método interno no Vim para fazer isso, mas você pode criar uma função:
Coloque o texto acima em um arquivo de texto com o nome terminado em .vim,: source, e você pode fazer algo como:
Nota de 21 de junho: Se você possui uma versão recente do Vim a partir de 2017, a resposta de Gid abaixo é a solução ideal.
fonte
Você está procurando talvez?
fonte
Se você deseja a solução do Heptite como um comando, adicione o seguinte ao seu arquivo .vimrc:
fonte