답변:
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에 내장 방법이 없지만 함수를 만들 수 있습니다.
function! NrBufs()
let i = bufnr('$')
let j = 0
while i >= 1
if buflisted(i)
let j+=1
endif
let i-=1
endwhile
return j
endfunction
위의 이름을 .vim으로 끝나는 텍스트 파일에 넣습니다. : source it, 다음과 같이 할 수 있습니다.
:let buffer_count = NrBufs()
:echo buffer_count
참고 : 2017 년 기준 최신 버전의 Vim을 사용하는 경우 아래 Gid의 답변이 최적의 솔루션입니다.
당신은 아마 찾고 있습니까?
:echo(bufnr('$'))