2009-05-13 10 views
26

Se, al prompt dei comandi, ho eseguitoCome aprire una nuova finestra sotto una divisione creata da vimdiff?

vimdiff file1 file2 

ottengo un'istanza vim che ha due file di side-by-side aperto, qualcosa di simile:

╔═══════╤═══════╗ 
║  │  ║ 
║  │  ║ 
║ file1 │ file2 ║ 
║  │  ║ 
║  │  ║ 
╚═══════╧═══════╝ 

Questo è molto bello, ma a volte voglio aprire un terzo file da guardare. Non voglio creare un'altra divisione verticale, perché altrimenti le linee saranno così brevi che scorrerei orizzontalmente tutto il tempo solo per leggerle. Ma occupare poche righe nella parte inferiore dello schermo non farebbe male. Così, come posso andare da quanto sopra al seguente:

╔═══════╤═══════╗ 
║  │  ║ 
║ file1 │ file2 ║ 
║  │  ║ 
╟───────┴───────╢ 
║  file3  ║ 
╚═══════════════╝ 

Ho provato con :sp file3, ma ho appena finire con questa (supponendo ho eseguito il comando mentre il cursore era in file1):

╔═══════╤═══════╗ 
║ file3 │  ║ 
║  │  ║ 
╟───────┤ file2 ║ 
║ file1 │  ║ 
║  │  ║ 
╚═══════╧═══════╝ 

Grazie in anticipo per il vostro aiuto!

+5

+1. Internet ha bisogno di più arte ASCII. – technomalogical

+0

Come hai ottenuto l'arte ASCII attorno ai nomi dei file? – wcm

+2

@wcm, copiando e incollando i caratteri rilevanti in dalla Mappa caratteri in Windows. – sampablokuper

risposta

11

Usa

:botright split 

e aprire un nuovo file al suo interno.

3

Se hai già aperto :sp file3 come nel tuo ultimo esempio, ^WJ sposta una finestra esistente dove vuoi che vada.

4

di espandere @ risposta di MGF, Se si digita questo comando, è possibile auto completare il nome file che si desidera modificare come in un normale :edit:

:bot split +edit thirdfile.cpp 

Ma per evitare di dover digitare tutto ciò che , è possibile creare un "comando di utente definito" come questo:

:command -complete=file -nargs=* Third bot split +edit <args> 

Ora si può semplicemente digitare :Third per creare la terza finestra nella parte inferiore dello schermo con il file che si desidera modificare, ad esempio:

:Third mythirdfile.cpp 

notare che è possibile completamento automatico, proprio come con un normale :edit.

E naturalmente è possibile modificare il nome del comando a qualcos'altro se non ti piace :Third, basta tenere a mente che deve iniziare con una lettera maiuscola.

Per maggiori informazioni tipo :help user-commands e :help 40.2

+1

E, naturalmente, per avere il comando definito permanente, metterlo sul file .vimrc, lasciando fuori i due punti (:). –