如何在Vim中获取分割窗口的尺寸?

10

如何在Vim中获取当前窗口的宽度和高度?

我想创建一个单一的快捷键,根据当前窗口的尺寸垂直或水平分割,但是我不知道要检查哪个变量或方法。

谢谢!

编辑:

这是我现在正在使用的命令,如果有人感兴趣的话。

command! SplitWindow call s:SplitWindow()
function! s:SplitWindow()                
  let l:height=winheight(0) * 2    
  let l:width=winwidth(0)          
  if (l:height > l:width)                
     :split                               
  else                                   
     :vsplit                              
  endif                                  
endfunction

1
这里对 winnr() 的调用是多余的。只需使用 winwidth(0)winheight(0) 即可。 - ib.
1个回答

11

请查看winwidth()winheight()函数。它们都接受一个窗口号作为参数,并分别返回该数字所代表的窗口的宽度(以字符为单位)和高度(以行为单位)。当数字没有对应的窗口时,返回值等于-1。0表示当前窗口。请注意,保留给定数字对应的窗口不存在时的返回值为-1。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接