Câu hỏi Cách mở tệp trong cửa sổ chia theo chiều dọc / ngang trong Vim từ dòng lệnh


Phải có một cách, một cái gì đó như thế này:

vim -[option] <file-list>

để mở tệp từ dấu nhắc lệnh và không phải từ bên trong Vim.

  • chia cửa sổ theo chiều dọc hoặc / và theo chiều ngang
  • trong các tab riêng biệt

360
2017-10-05 18:01


gốc




Các câu trả lời:


Tôi giả sử bạn có nghĩa là từ dòng lệnh. Từ vim --help:

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

Vì vậy, gõ này để mở các tập tin chia theo chiều ngang, ví dụ:

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

351
2017-10-05 18:07



Có thật không? Tôi chưa bao giờ phải cung cấp N. - Cascabel
Thật vậy, nó có vẻ là một cái gì đó trong .vimrc của tôi gây ra rắc rối. Nếu tôi di chuyển nó sang một bên, -o mà không có N hoạt động như được ghi chép. - Laurence Gonsalves
-o giống như :split, -O giống như :vsplit - Evgeni Sergeev
@Cascabel -whatever[N] có nghĩa là N là tùy chọn và có thể bỏ qua, tôi tin rằng nó xuất phát từ tiêu chuẩn cú pháp ebnf - user3338098
@ user3338098 I suy nghĩ có thể đã có một bình luận đã bị xóa ở đây; Nhận xét "Thật vậy ..." của Laurence ngụ ý rằng nó đã gây ra vấn đề khi bỏ qua. - Cascabel


Ctrl+W, S (chữ hoa) để tách ngang

Ctrl+W, v (chữ thường) để tách dọc

Ctrl+W, Q đóng một

Ctrl+W, Ctrl+W để chuyển đổi giữa các cửa sổ

Ctrl+W, J (xor K, H, L) để chuyển sang cửa sổ liền kề (trực giác lên, xuống, sang trái, sang phải)


423
2017-10-05 18:09



Để chuyển đổi màn hình, nhấn Ctrl-w và sau đó up arrow hoặc là down arrow để chuyển đổi màn hình. - Eric Leschinski
@EricLeschinski, tôi thích ctrl+w  ctrl+w chu kỳ qua cửa sổ như các phím mũi tên cảm thấy một chút chống vi phạm - Lucas
Ah nhưng bạn có thể sử dụng các chuyển động vim thông thường, ví dụ: ctrl+w j để chuyển đến bộ đệm bên dưới bộ đệm hiện tại. - mitjak
:q cũng đóng cửa sổ - Alexandre Bourlier
Ctrl + w để chuyển đổi các cửa sổ dường như không hoạt động trên thiết bị đầu cuối mac. Ctrl + w, w mặc dù - slashdottir


Trong khi chạy vim:

  1. :sp filename cho một phân chia ngang
  2. :vsp filename hoặc là :vs filename cho một phân chia theo chiều dọc

304
2017-10-05 18:02



Điều này không trả lời câu hỏi được nêu ra ... nhưng nó SURE đã giúp tôi: D Cảm ơn! - Abel
Rất cám ơn vì điều đó. Đó chính xác là những gì tôi cần! - mapcuk
cảm ơn, chỉ là những gì tôi đang tìm kiếm. tôi cũng vậy :set splitright - zack
ctrl-ww để chuyển đổi giữa các phần tách - Nerrve
:vsplit filename giống như :vsp filename và :vs filename, nhưng có lẽ một chút dễ nhớ hơn đối với một số người - b_dev


một thủ thuật quan tâm khác là đối số CLI -p - mở ra chúng riêng biệt tab cho các phiên bản gần đây của vim và gvim.

gvim -p file1.txt file2.txt

21
2017-10-05 18:14





Một mẹo hữu ích khác mà tôi vừa phát hiện ra là bạn có thể sử dụng các ký tự đại diện trong filelist để mở nhiều tệp. Giả sử bạn muốn mở file1.txt, file2.txt và file3.txt tất cả trong các tab riêng biệt nhưng không cảm thấy như gõ tất cả những gì bạn có thể làm:

vim -p file*

Tôi thường thấy mình cần mở nhiều tệp với tiền tố tương tự và điều này khá hữu ích


1
2017-08-02 01:10



Điều đó không phải làm với Vim chính nó nhưng với vỏ bạn đang sử dụng. Đó là vỏ mở rộng globs. - Kazark
Tốt để biết, cảm ơn! - Brent