如何从vim的python api中列出或不列出vim缓冲区?

Ron*_*nny 2 python vim

对于一个工具,我需要计算仍然列出的所有vim缓冲区(有列出和未列出的缓冲区)

不幸的是,vim.buffers包含所有缓冲区,如果列出或不列出缓冲区,似乎没有一个属性可供使用

我想做的vim命令是

:buffers
Run Code Online (Sandbox Code Playgroud)

不幸的是,使用vim python api可以实现所有这些功能

:buffers!
Run Code Online (Sandbox Code Playgroud)

但没有我们需要的列出/未列出的元数据

Myk*_*yev 6

以下是使用Vim语言管理此方法的方法.

function s:buffers_list()
    let result = []

    for buffer_number in range(1, bufnr('$'))
        if !buflisted(buffer_number)
            continue
        endif

        call add(result, buffer_number)
    endfor

    return result
endfunction
Run Code Online (Sandbox Code Playgroud)