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

Vim - check if buffer is open in multiple windows

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

单缓冲区:

两个相同的缓冲区 windows:

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

您可以使用 win_findbuf() 函数,它将获取缓冲区编号和 return Window-ID 列表。

:echo win_findbuf(bufnr('%'))

如需更多帮助,请参阅:

:h win_findbuf(
:h winid
:h bufnr()