我想检测我是否处于最右侧(或左侧、顶部、最底部)的拆分中。换句话说,什么时候ctrl-w h
什么都不做。有没有办法做到这一点?
只有winnr()
,这是一个顺序编号;即您只能检查最左上角和最右下角的窗口,而不能检查确切的窗口关系。如果您在映射/脚本中需要此信息,则必须完全按照您的描述进行操作:
function! IsLeftMostWindow()
let curNr = winnr()
wincmd h
if winnr() == curNr
return 1
endif
wincmd p " Move back.
return 0
endfunction
Run Code Online (Sandbox Code Playgroud)
编辑: winnr('$') 是一种特殊情况,它返回当前选项卡中的最高索引。因此,如果 winnr() == winnr('$'),则您位于最左侧(或唯一)窗口。