Jak otwierać pliki w oknach podziału pionowego / poziomego w Vimie z wiersza poleceń

400

Musi być jakiś sposób, coś takiego:

vim -[option] <file-list>

aby otwierać pliki z wiersza poleceń, a nie z poziomu Vima.

  • dzielić okna pionowo lub / i poziomo
  • w osobnych zakładkach
Andrei Chikatilo
źródło

Odpowiedzi:

389

Zakładam, że masz na myśli z linii poleceń. Od vim --help:

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

Wpisz to, aby otworzyć pliki podzielone poziomo, na przykład:

vim -o file1.txt file2.txt file3.txt
Laurence Gonsalves
źródło
14
Naprawdę? Nigdy nie musiałem podawać N.
Cascabel
3
Rzeczywiście, wydaje się, że coś w moim .vimrc powoduje problemy. Jeśli odsunę to na bok, -o bez N działa zgodnie z dokumentacją.
Laurence Gonsalves
22
-ojest jak :split, -Ojest jak:vsplit
Evgeni Sergeev
@Cascabel -whatever[N]oznacza, że Njest opcjonalny i można go pominąć, uważam, że wywodzi się on ze standardowej składni
ebnf
@ user3338098 Myślę , że mógł tu być usunięty komentarz; Komentarz „Rzeczywiście…” Laurence'a sugeruje, że powodowanie problemów powodowało pominięcie go.
Cascabel
441

Ctrl+ W, S(wielkie litery) do podziału poziomego

Ctrl+ W, v(małe litery) do podziału pionowego

Ctrl+ W, Qaby zamknąć jeden

Ctrl+ W, Ctrl+, Waby przełączać się między oknami

Ctrl+ W, J(XOR K, H, L), aby przejść do sąsiedniego okna (intuicyjnie górę, w dół, w lewo, w prawo)

LB40
źródło
10
Aby przełączyć ekrany, naciśnij, Ctrl-wa następnie up arrowlub, down arrowaby przełączyć ekrany.
Eric Leschinski
7
@EricLeschinski, wolę przełączać ctrl+w ctrl+wsię między oknami, ponieważ klawisze strzałek wydają się trochę anty-vi
Lucas
6
Ach, ale możesz używać regularnych ruchów vima, np. ctrl+w jAby przeskoczyć do bufora poniżej bieżącego.
mitjak
4
:qzamyka także okno
Alexandre Bourlier
1
Ctrl + w, aby przełączyć Windows nie wydaje się działać na terminalu Mac. Ctrl + w, w robi chociaż
slashdottir
325

Podczas uruchamiania vima:

  1. :sp filename dla podziału poziomego
  2. :vsp filenamelub :vs filenamedla podziału pionowego
Taylor Leese
źródło
61
To nie odpowiada na postawione pytanie ... ale na pewno pomogło mi: D Dzięki!
Abel
1
Wielkie dzięki za to. Właśnie tego potrzebuję!
mapcuk
7
dzięki, właśnie tego szukałem. Ja także:set splitright
zack
4
ctrl-ww do przełączania między podziałami
Nerrve
:vsplit filenamejest taki sam jak :vsp filenamei :vs filename, ale może trochę łatwiejszy do zapamiętania dla niektórych osób
b_dev
21

Inną interesującą sztuczką jest argument CLI -p - który otwiera je w osobnych kartach dla najnowszych wersji vim i gvim.

gvim -p file1.txt file2.txt
dls
źródło
1

Kolejną przydatną sztuczką, którą właśnie odkryłem, jest to, że możesz używać symboli wieloznacznych na liście plików, aby otwierać wiele plików. Powiedzmy, że chcesz otworzyć plik1.txt, plik2.txt i plik3.txt wszystkie na osobnych kartach, ale nie masz ochoty pisać tego wszystkiego, co możesz zrobić:

vim -p file*

Często muszę otwierać wiele plików z podobnym prefiksem, co było bardzo pomocne

Brent
źródło
12
Nie dotyczy to samego Vima, ale używanej powłoki. Jest to powłoka, która rozszerza globusy.
Kazark,