2015-08-19 137 views
3

假设我有一个文件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缓冲区而不使其可见?vim:获取卸载缓冲区的缓冲区号

编辑:我知道关于:hide但它的问题是,它不会在屏幕上的最后一个窗口上工作。

+0

这是否特别在没有其他缓冲区已经打开时?如果其他缓冲区已打开,您是否想继续显示最后一个缓冲区? –

+0

嗨@RandyMorris。可能有其他缓冲区打开(或不)。我只想获得一个缓冲区号而不改变当前的窗口/缓冲区显示。 – petobens

回答

3

您可以使用:badd somefile在不离开当前缓冲区的情况下将somefile添加到缓冲区列表中。

:argadd对参数列表的做法相同。

请参阅:help :badd:help :argadd