Vim - 检查缓冲区是否在多个窗口中打开

Das*_*San 4 vim buffer window

有没有办法检查单个缓冲区是否在多个窗口中打开?例如,如果您打开一个文件并使用该:vsp命令,您可以将当前文件拆分为 2 个窗口,它们都查看同一个缓冲区,基本上是两个窗口中的一个缓冲区。

单缓冲区:

在此处输入图片说明

两个窗口上的相同缓冲区:

在此处输入图片说明

有没有办法通过vimscript检测一个缓冲区是否在多个窗口中打开?

Pet*_*ker 5

您可以使用win_findbuf()接收缓冲区编号并返回窗口 ID 列表的函数。

:echo win_findbuf(bufnr('%'))
Run Code Online (Sandbox Code Playgroud)

如需更多帮助,请参阅:

:h win_findbuf(
:h winid
:h bufnr()
Run Code Online (Sandbox Code Playgroud)