vim支持多窗口编辑文件。就是在一个屏幕上划分成多个窗口,每个窗口可以编辑一个文件或者多个窗口同时编辑一个文件。 还可以通过标签页进行多个窗口的管理。 可以使用命令 ctrl + w
然后 s
或者 v
对当前的工作区进行的窗口进行划分。通过 ctrl + w
和 w
可以在多个窗户之间切换。
把工作区分成多个窗口
<C-w>s
水平方向分隔窗口
<C-w>v
垂直方向分隔窗口
通过这样的方式,分隔后的窗口。和原来的窗口一模一样,等于是复制了一份。两个窗口存放是同一个缓冲区(同一个文件)。 对其中一个文件进行编辑,其他的窗口的内容会同时改变。
虽然内容一样,但是可以看到文件内容的不同部分, 比如第一个窗口看到1~20, 另外一个窗口可以看到文件的 20~40 行,这样修改文件就很方便。
可以通过 :e filename
在一个窗口中打开一个新的文件。这样就可以编辑另外一个文件。
分隔窗口,同时指定编辑的文件
:sp [file]
水平分隔窗口,并且在新窗口编辑文件 file
:vsp [file]
垂直分隔窗口,并且在新窗口编辑文件 file
窗口之间的切换
命令 | 方式 |
---|---|
<C-w>w |
循环切换窗口 |
<C-w>h |
切换到左边的窗口 |
<C-w>j |
切换到下边的窗口 |
<C-w>k |
切换到上边的窗口 |
<C-w>l |
切换到右边的窗口 |
如何关闭窗口
Ex模式下可以
:clo[se] 关闭当前窗口
:on[ly] 保留当前的窗口,关闭其他的窗口
调整窗口的大小
命令 | 方式 |
---|---|
<C-w>= |
使所有窗口等宽、等高 |
<C-w>_ |
最大化活动窗口的高度 |
<C-w>| |
最大化活动窗口的宽度 |
[N]<C-w>_ |
把活动窗口的高度设为[N]行 |
[N]<C-w>| |
把活动窗口的宽度设为[N]列 |
标签页
一个标签页同时只能显示一个,窗口可以同时显示多个。 一个标签中可以有一个或者多个窗口。
创建一个标签 可以 :tabe[dit] {filename}
或者<C-w>T
把当前的窗在一个新的标签中打开。
关闭标签
1. :tabc[lose]
关闭当前的标签和该标签下的所有窗口。
2. :tabo[nly]
只保留活动标签页,关闭所有其他标签页
标签的切换
Ex命令 | 普通命令 | 作用 |
---|---|---|
:tabn[ext] {N} |
{N}gt |
切换到编号为 {N} 的标签页 |
:tabn[ext] |
gt |
切换到下一标签页 |
:tabp[revious] |
gT |
切换到上一标签页 |