我想知道Vim函数当前标签页中打开了多少个窗口; 特别是,在标签页中知道特定窗口是否是最后一个,例如来自autocmd,将是很方便的.有任何想法吗?
我猜你可以使用winnr()命令完成所有操作.
winnr()本身会告诉你当前的窗口编号.winnr('$')告诉你最后一个(底部)窗口
如果您在底部窗口中,则以下将返回"1",否则返回0:
echo winnr() == winnr('$')
Run Code Online (Sandbox Code Playgroud)
举个例子,你可以做这样的事情,只在底部窗口执行一些事情:
:autocmd WinEnter * if winnr() == winnr('$')|echo "Welcome to the bottom window"|endif
Run Code Online (Sandbox Code Playgroud)
警告:这适用于垂直窗户,但我认为它根本不适用于水平窗户,或混合和匹配水平/垂直窗户.
您还可以执行以下操作:
let window_counter = 0
windo let window_counter = window_counter + 1
echo window_counter
Run Code Online (Sandbox Code Playgroud)
该:windo命令在当前选项卡的每个窗口中运行一个 ex 命令。