如何从命令行在Vim的垂直/水平拆分窗口中打开文件


Answers:


389

我假设您的意思是从命令行开始。来自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

14
真?我从来不需要提供
N。–卡斯卡贝尔

3
确实,这似乎是我的.vimrc中引起麻烦的原因。如果我将其移开,则-o不带N的功能将如文档所述。
劳伦斯·贡萨尔维斯

22
-o就像:split-O就像:vsplit
Evgeni Sergeev

@Cascabel -whatever[N]表示这N是可选的,可以忽略,我相信它源自标准的ebnf语法
user3338098

@ user3338098我认为这里可能已删除评论;劳伦斯(Laurence)的“ Indeed ...”评论暗示,如果省略,它会引起问题。
卡斯卡贝尔

441

Ctrl+ WS(大写)用于水平分割

Ctrl+ Wv(小写)用于垂直分割

Ctrl+ WQ关闭一个

Ctrl+ WCtrl+ W在窗口之间切换

Ctrl+ WJ(XOR KHL)切换到相邻的窗口(直观上,下,左,右)


10
要切换屏幕,请按Ctrl-w,然后按up arrowdown arrow来切换屏幕。
Eric Leschinski 2012年

7
@EricLeschinski,我更喜欢ctrl+w ctrl+w循环浏览窗口,因为箭头键感觉有点反vi
Lucas

6
嗯,但是您可以使用常规的vim移动,例如ctrl+w j跳转到当前缓冲区以下的缓冲区。
mitjak

4
:q也关闭窗口
Alexandre Bourlier 2014年

1
在Mac终端上,按Ctrl + w切换窗口似乎不起作用。Ctrl + w,w确实做到了
slashdottir

325

运行vim时:

  1. :sp filename 水平分割
  2. :vsp filename:vs filename垂直分割

61
这不能回答提出的问题...但是可以肯定的帮助我:D谢谢!
亚伯

1
非常感谢。这正是我所需要的!
mapcuk'3

7
谢谢,正是我想要的。我还:set splitright
zack 2012年

4
ctrl-ww用于在分割之间切换
Nerrve 2014年

:vsplit filename:vsp filename和相同:vs filename,但是对于某些人来说可能更容易记住
b_dev

21

另一个有趣的技巧是CLI -p参数-可以在单独的选项卡中打开它们以获取vim和gvim的最新版本。

gvim -p file1.txt file2.txt

1

我刚刚发现的另一个有用的技巧是,您可以在文件列表中使用通配符来打开多个文件。假设您要在单独的选项卡中全部打开file1.txt,file2.txt和file3.txt,但不想输入全部内容即可:

vim -p file*

我经常发现自己需要打开很多具有相似前缀的文件,这非常有帮助


12
这与Vim本身无关,而与您正在使用的shell有关。它是扩大球团的壳。
卡扎尔克2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.