Определение размеров разделенного окна - PullRequest
9 голосов
/ 21 августа 2011

Как мне получить ширину и высоту текущего окна в Vim?

Я хочу создать одну горячую клавишу для разделения по вертикали или горизонтали в зависимости от размеров текущего окна, но я не знаю, какую переменную или метод проверять.

Спасибо!

Edit:

Вот команда, которую я сейчас использую на случай, если кому-то будет интересно.

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 Ответ

10 голосов
/ 21 августа 2011

См. winwidth() и winheight() функции. Оба они принимают количество окно в качестве единственного аргумента и возвращают соответственно ширину (в символах) и высота (в строках) окна, обозначенного этим номером. Ноль стоит для текущего окна. Обратите внимание, что возвращаемое значение равно -1, когда нет окно, соответствующее заданному номеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...