2009-07-27 6 views
14

Fondamentalmente, voglio andare da 1) a 2) Io di solito fare questo, dividendo in senso orizzontale e poi in verticale, ma come io voglio questo per fare diffs a tre vie, è molto più maneggevole per avviare vim eseguendo:Come posso dividere orizzontalmente tra diverse finestre suddivise verticalmente in Vim?

$ vimdiff file1 file2 file3 

E quindi facendo qualcosa per aprire la finestra divisa sotto.

1) 
    +----+----+----+ 
    ¦ ¦ ¦ ¦ 
    ¦ f1 ¦ f2 ¦ f3 ¦ 
    ¦ ¦ ¦ ¦ 
    +----+----+----+ 

2) 
    +----+----+----+ 
    ¦ ¦ ¦ ¦ 
    ¦ f1 ¦ f2 ¦ f3 ¦ 
    +----+----+----+ 
    ¦  f4  ¦ 
    +--------------+ 

Qualcuno sa di un modo per questo?

risposta

28

uso :botright split o :bo sp, non ciò che si vuole

+0

Lo fa, infatti. Grazie per la risposta rapida! –

+1

@Hasturkun qual è l'equivalente per un ': vert split', dove hai' f1, f2, f3' in orizzontale, opposto all'esempio di OP, e poi vuoi una divisione verticale su tutti e tre lo schermo, in modo che il vert divida prende il 50% dello schermo, piuttosto che la metà di 'f1' per esempio? – TankorSmash

+1

@TankorSmash: Non riesco a verificarlo subito, ma ho trovato [questa pratica pagina] (http://technotales.wordpress.com/2010/04/29/vim-splits-a-guide-to-doing- esattamente-what-you-want /), e sembra suggerire che si desidera un ': topleft vsplit' – Hasturkun

12

Oltre alla risposta eccellente di Hasturkun, si possono trovare alcuni dei comandi Ctrl-W molto utile:

Questi sono Ctrl-W seguiti da (capitale) H, J, K o L. Questi spostano la finestra corrente all'estrema sinistra, in basso, in alto o a destra rispettivamente. Quindi, per passare dall'1 al 2, in alternativa all'utilizzo di :botright, è possibile eseguire un normale :sp o :vsp e quindi fare Ctrl-W J e la finestra verrà spostata in fondo.

:help CTRL-W_H 
:help CTRL-W_J 
:help CTRL-W_K 
:help CTRL-W_L 
+0

Questa è un'ottima risposta se hai già creato lo split e vuoi spostarlo fino in fondo. – michaelavila