【发布时间】:2020-03-11 20:18:21
【问题描述】:
有没有办法检查单个缓冲区是否在多个窗口中打开?
例如,如果您打开一个文件并使用:vsp 命令,您可以将当前文件拆分为 2 个窗口,两个窗口都查看同一个缓冲区,基本上是两个窗口中的一个缓冲区。
单缓冲区:
两个窗口上的同一个缓冲区:
有没有办法通过 vimscript 检测一个缓冲区是否在多个窗口中打开?
【问题讨论】:
有没有办法检查单个缓冲区是否在多个窗口中打开?
例如,如果您打开一个文件并使用:vsp 命令,您可以将当前文件拆分为 2 个窗口,两个窗口都查看同一个缓冲区,基本上是两个窗口中的一个缓冲区。
单缓冲区:
两个窗口上的同一个缓冲区:
有没有办法通过 vimscript 检测一个缓冲区是否在多个窗口中打开?
【问题讨论】:
您可以使用win_findbuf() 函数,该函数将获取一个缓冲区编号并返回一个Window-ID 列表。
:echo win_findbuf(bufnr('%'))
如需更多帮助,请参阅:
:h win_findbuf(
:h winid
:h bufnr()
【讨论】: