Cara membuka file di jendela split vertikal / horizontal di Vim dari baris perintah

400

Pasti ada caranya, kira-kira seperti ini:

vim -[option] <file-list>

untuk membuka file dari command prompt dan bukan dari dalam Vim.

  • membagi windows secara vertikal atau / dan horizontal
  • di tab terpisah
Andrei Chikatilo
sumber

Jawaban:

389

Saya berasumsi maksud Anda dari baris perintah. Dari vim --help:

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

Jadi ketik ini untuk membuka file yang dipisah secara horizontal, misalnya:

vim -o file1.txt file2.txt file3.txt
Laurence Gonsalves
sumber
14
Benarkah? Saya tidak pernah harus memberikan N.
Cascabel
3
Memang, sepertinya ada sesuatu di .vimrc saya yang menyebabkan masalah. Jika saya memindahkannya ke samping, -o tanpa N berfungsi seperti yang didokumentasikan.
Laurence Gonsalves
22
-oseperti :split, -Oseperti:vsplit
Evgeni Sergeev
@Cascabel -whatever[N]berarti itu Nopsional dan dapat dihilangkan, saya percaya ini berasal dari sintaks ebnf
user3338098
@ user3338098 Saya pikir mungkin ada komentar yang dihapus di sini; Komentar "Memang ..." Laurence menyiratkan bahwa itu menyebabkan masalah ketika dihilangkan.
Cascabel
441

Ctrl+ W, S(huruf besar) untuk pemisahan horizontal

Ctrl+ W, v(huruf kecil) untuk pemisahan vertikal

Ctrl+ W, Quntuk menutup satu

Ctrl+ W, Ctrl+ Wuntuk beralih antar windows

Ctrl+ W, J(Xor K, H, L) untuk beralih ke jendela yang berdekatan (intuitif atas, bawah, kiri, kanan)

LB40
sumber
10
Untuk beralih layar, Tekan Ctrl-wlalu up arrowatau down arrowuntuk beralih layar.
Eric Leschinski
7
@EricLeschinski, saya lebih suka ctrl+w ctrl+wbersepeda melalui jendela karena tombol panah terasa sedikit anti-vi
Lucas
6
Ah tetapi Anda dapat menggunakan gerakan vim biasa, misalnya ctrl+w juntuk melompat ke buffer di bawah yang sekarang.
mitjak
4
:qjuga menutup jendela
Alexandre Bourlier
1
Ctrl + w untuk berpindah windows sepertinya tidak berfungsi pada terminal mac. Ctrl + w, w tidak
slashdottir
325

Saat menjalankan vim:

  1. :sp filename untuk pemisahan horizontal
  2. :vsp filenameatau :vs filenameuntuk pemisahan vertikal
Taylor Leese
sumber
61
Ini tidak menjawab pertanyaan yang diajukan ... tetapi PASTI membantu saya: D Terima kasih!
Abel
1
Terima kasih banyak untuk itu. Persis itulah yang saya butuhkan!
mapcuk
7
terima kasih, hanya apa yang saya cari. Saya juga:set splitright
Zack
4
ctrl-ww untuk beralih antar pemisahan
Nerrve
:vsplit filenamesama dengan :vsp filenamedan :vs filename, tapi mungkin sedikit lebih mudah diingat untuk beberapa orang
b_dev
21

Trik lain yang menarik adalah argumen CLI -p - yang membukanya di tab terpisah untuk versi vim dan gvim terbaru.

gvim -p file1.txt file2.txt
dl
sumber
1

Trik lain yang bermanfaat yang baru saja saya temukan, adalah Anda dapat menggunakan wildcard di daftar file untuk membuka banyak file. Katakanlah Anda ingin membuka file1.txt, file2.txt, dan file3.txt semuanya di tab terpisah tetapi tidak merasa ingin mengetik semuanya yang bisa Anda lakukan:

vim -p file*

Saya sering menemukan diri saya perlu membuka banyak file dengan awalan yang serupa, dan ini sangat membantu

Brent
sumber
12
Itu tidak harus dilakukan dengan Vim sendiri tetapi dengan shell yang Anda gunakan. Ini adalah shell yang memperluas gumpalan.
Kazark