vim 多窗口管理 如何切换和分组

Posted by

vim支持多窗口编辑文件。就是在一个屏幕上划分成多个窗口,每个窗口可以编辑一个文件或者多个窗口同时编辑一个文件。 还可以通过标签页进行多个窗口的管理。 可以使用命令 ctrl + w 然后 s或者 v对当前的工作区进行的窗口进行划分。通过 ctrl + ww 可以在多个窗户之间切换。

把工作区分成多个窗口

<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 切换到上一标签页

Leave a Reply

电子邮件地址不会被公开。