在Vim中区分隐藏缓冲区和活动缓冲区

mih*_*hai 2 vim

有没有办法在Vim中区分隐藏缓冲区和活动缓冲区?

我需要确定缓冲区是否在窗口中处于活动状态,以便可以切换它。
试过了bufloadedbufexists并且buflisted但他们都主动和隐藏缓冲区返回1。

(我有set hidden并且set bufhidden=hide在我的vimrc中)

Cod*_*key 5

使用bufwinnr()以检查是否有缓冲区在窗口中打开。结果是,-1如果不是。

  • 这不起作用,您需要“empty(win_findbuf(n))”来检查缓冲区是否被隐藏。缓冲区可能在另一个选项卡的窗口中处于活动状态。 (2认同)