Come aprire i file in finestre divise verticalmente / orizzontalmente in Vim dalla riga di comando


400

Deve esserci un modo, qualcosa del genere:

vim -[option] <file-list>

per aprire i file dal prompt dei comandi e non da Vim.

  • dividere le finestre verticalmente o / e orizzontalmente
  • in schede separate

Risposte:


389

Suppongo che intendi dalla riga di comando. Da vim --help:

-o[N]                Open N windows (default: one for each file)
-O[N]                Like -o but split vertically

Quindi digita questo per aprire i file divisi in orizzontale, ad esempio:

vim -o file1.txt file2.txt file3.txt

14
Veramente? Non ho mai dovuto fornire un N.
Cascabel il

3
In effetti, sembra essere qualcosa nel mio .vimrc che causa il problema. Se lo sposto da parte, -o senza N funziona come documentato.
Laurence Gonsalves,

22
-oè come :split, -Oè come:vsplit
Evgeni Sergeev,

@Cascabel -whatever[N]significa che Nè facoltativo e può essere omesso, credo che derivi dalla sintassi ebnf
user3338098

@ user3338098 Penso che potrebbe esserci stato un commento eliminato qui; Il commento "Davvero ..." di Laurence implica che stava causando problemi quando omesso.
Cascabel,

441

Ctrl+ W, S(maiuscolo) per la divisione orizzontale

Ctrl+ W, v(lettere minuscole) per la divisione verticale

Ctrl+ W, Qper chiuderne uno

Ctrl+ W, Ctrl+ Wper passare da una finestra all'altra

Ctrl+ W, J(Xor K, H, L) per passare alla finestra adiacente (intuitivamente su, giù, sinistra, destra)


10
Per cambiare schermata, premere Ctrl-we quindi up arrowo down arrowper cambiare schermata.
Eric Leschinski,

7
@EricLeschinski, preferisco ctrl+w ctrl+wscorrere le finestre poiché i tasti freccia sembrano un po ' anti-vi
Lucas

6
Ah, ma puoi usare movimenti regolari di VIM, ad es. ctrl+w jPer saltare al buffer sotto quello corrente.
mitjak,

4
:qchiude anche la finestra
Alexandre Bourlier,

1
Ctrl + w per cambiare finestra non sembra funzionare sul terminale mac. Ctrl + w, w invece
slashdottir il

325

Durante l'esecuzione di vim:

  1. :sp filename per una divisione orizzontale
  2. :vsp filenameo :vs filenameper una divisione verticale

61
Questo non risponde alla domanda sollevata ... ma SICURO mi ha aiutato: D Grazie!
Abel,

1
Mille grazie per questo. È esattamente quello di cui ho bisogno!
mapcuk

7
grazie, proprio quello che stavo cercando. Ho anche:set splitright
Zack

4
ctrl-ww per passare da una divisione
all'altra

:vsplit filenameè lo stesso di :vsp filenamee :vs filename, ma forse un po 'più facile da ricordare per alcune persone
b_dev

21

un altro trucco interessante è l'argomento CLI -p - che li apre in schede separate per le versioni recenti di vim e gvim.

gvim -p file1.txt file2.txt

1

Un altro trucco utile che ho appena scoperto è che è possibile utilizzare i caratteri jolly nell'elenco file per aprire più file. Supponi di voler aprire file1.txt, file2.txt e file3.txt in schede separate ma non hai voglia di digitare tutto ciò che puoi fare:

vim -p file*

Mi trovo spesso a dover aprire molti file con un prefisso simile e questo mi è stato di grande aiuto


12
Ciò non ha a che fare con Vim stesso ma con la shell che stai usando. È il guscio che espande i globs.
Kazark,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.