2011-08-21 10 views
9

Come si ottiene la larghezza e l'altezza della finestra corrente in Vim?Rilevamento delle dimensioni della finestra suddivisa

Voglio creare un singolo tasto di scelta rapida per dividere verticalmente o orizzontalmente in base alle dimensioni della finestra corrente, ma non so quale variabile o metodo controllare.

Grazie!

Edit:

Ecco il comando Ora sto utilizzando nel caso in cui qualcuno è interessato.

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

Le chiamate a 'winnr()' sono ridondanti qui. Basta usare 'winwidth (0)' e 'winheight (0)'. –

+0

Ah, grazie! Risolto sopra. – suderman

risposta

10

Vedi winwidth() e winheight() funzioni. Entrambi prendono il numero di una finestra come argomento singolo e restituiscono rispettivamente la larghezza (in caratteri) e l'altezza (in linee) della finestra identificata con quel numero. Zero sta per la finestra corrente. Si noti che il valore restituito è uguale a -1 quando non esiste una finestra corrispondente al numero specificato.

+0

Grazie per il tuo aiuto! – suderman

Problemi correlati