2011-08-21 16 views
9

¿Cómo obtengo el ancho y el alto de la ventana actual en Vim?Detección de dimensiones de ventanas divididas

Quiero crear una tecla de acceso directo para dividir ya sea vertical u horizontalmente en función de las dimensiones de la ventana actual, pero no sé qué variable o método verificar.

Gracias!

Editar:

Aquí está el comando Ahora estoy usando por si alguien está interesado.

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

Las llamadas a 'winnr()' son redundantes aquí. Simplemente use 'winwidth (0)' y 'winheight (0)'. –

+0

¡Ah, gracias! Arreglado arriba. – suderman

Respuesta

10

Ver winwidth() y winheight() funciones. Ambos toman el número como un único argumento y devuelven, respectivamente, el ancho (en caracteres) y la altura (en líneas) de la ventana identificada con ese número. Zero se encuentra para la ventana actual. Tenga en cuenta que el valor de retorno es igual a -1 cuando no hay una ventana correspondiente al número especificado.

+0

¡Gracias por tu ayuda! – suderman

Cuestiones relacionadas