假设我有一个文件 C:/Users/Pedro/Desktop/foo.txt
。如果我打开 Gvim 并运行 :echo bufnr('C:/Users/Pedro/Desktop/foo.txt')
它返回 -1
因为缓冲区没有加载。我知道我可以编辑文件(即运行 execute "edit "'C:/Users/Pedro/Desktop/foo.txt'
),然后我将使用 bufnr( )
。但是,通过编辑文件,它也会变得可见。所以我的问题是:如何在不使其可见的情况下获取(或分配)缓冲区编号给当前未加载到 Vim 中的缓冲区?
等价地:有没有办法加载 vim 缓冲区而不使其可见?
编辑:我知道 :hide
但问题是它不会在屏幕上的最后一个窗口上工作。
最佳答案
您可以使用 :badd somefile
将 somefile
添加到缓冲区列表而不离开当前缓冲区。
:argadd
对参数列表做同样的事情。
参见 :help :badd
和 :help :argadd
。
关于vim:获取卸载缓冲区的缓冲区编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32099801/