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

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

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)


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

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

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


12
Itu tidak harus dilakukan dengan Vim sendiri tetapi dengan shell yang Anda gunakan. Ini adalah shell yang memperluas gumpalan.
Kazark
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.