題 如何從命令行在Vim中的垂直/水平分割窗口中打開文件


必須有一種方法,像這樣:

vim -[option] <file-list>

打開文件 從命令提示符 和  來自Vim。

  • 垂直或/和水平分割窗口
  • 在單獨的標籤中

367
2017-10-05 18:01


起源




答案:


我假設你是從命令行的意思。從 vim --help

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

因此,鍵入此項以打開水平拆分的文件,例如:

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

358
2017-10-05 18:07



真?我從來沒有提供過N. - Cascabel
實際上,它似乎是我的.vimrc中的一些東西造成了麻煩。如果我把它移到一邊,-o沒有N按照記錄的方式工作。 - Laurence Gonsalves
-o 就好像 :split, -O 就好像 :vsplit - Evgeni Sergeev
@Cascabel -whatever[N] 意思是 N 是可選的,可以省略,我相信它源於標準 ebnf語法 - user3338098
@ user3338098我 認為 這裡可能刪除了評論;勞倫斯的“確實......”評論意味著它在被忽略時引起了問題。 - Cascabel


按Ctrl+w ^小號 (大寫)用於水平分割

按Ctrl+w ^v (小寫)用於垂直分割

按Ctrl+w ^Q 關閉一個

按Ctrl+w ^按Ctrl+w ^ 在窗戶之間切換

按Ctrl+w ^Ĵ (XOR ķH大號)切換到相鄰窗口(直觀地向上,向下,向左,向右)


428
2017-10-05 18:09



要切換屏幕,請按 Ctrl-w 然後 up arrow 要么 down arrow 切換屏幕。 - Eric Leschinski
@EricLeschinski,我更喜歡 ctrl+w  ctrl+w 當箭頭鍵感覺有點時,可以在窗口中循環 反六 - Lucas
啊,但你可以使用常規的vim運動,例如 ctrl+w j 跳到當前緩衝區下面的緩衝區。 - mitjak
:q 也關閉窗口 - Alexandre Bourlier
Ctrl + w切換窗口似乎無法在mac終端上運行。 Ctrl + w,w確實如此 - slashdottir


在運行vim時:

  1. :sp filename 用於水平分割
  2. :vsp filename 要么 :vs filename 用於垂直分割

310
2017-10-05 18:02



這不能回答提出的問題......但它確實幫助了我:D謝謝! - Abel
非常感謝。這正是我需要的! - mapcuk
謝謝,正是我在尋找的東西。我也 :set splitright - zack
ctrl-ww用於在分割之間切換 - Nerrve
:vsplit filename 是相同的 :vsp filename 和 :vs filename但是對於某些人來說可能更容易記住 - b_dev


另一個感興趣的技巧是CLI -p參數 - 它可以單獨打開它們 標籤 最新版本的vim和gvim。

gvim -p file1.txt file2.txt

21
2017-10-05 18:14





我剛發現的另一個有用的技巧是,您可以在文件列表中使用通配符來打開多個文件。假設您要在單獨的選項卡中打開file1.txt,file2.txt和file3.txt,但不想輸入所有內容,您可以這樣做:

vim -p file*

我經常發現自己需要打開許多帶有類似前綴的文件,這非常有幫助


1
2017-08-02 01:10



這與Vim本身沒有關係,而是與你正在使用的shell有關。它是擴大球體的外殼。 - Kazark
很高興知道,謝謝! - Brent