9. 分隔窗口
将一个窗口分隔成多个窗口,可以同时显示或者编辑多个文件,或者可以显示或编辑同一个文件的不同位置。
-
- 分隔一个窗口
-
:split
命令:将屏幕分成上下两个窗口,并将光标定位在上面的窗口中。 -
:vsplit
命令:将屏幕分成左右两个窗口,并将光标定位在左边的窗口中。 -
CTRL-w w
(window)命令:切换当前活动窗口,与CTRL-w CTRL-w
功能相同。 -
:close
命令:关闭当前活动窗口。比如:quit
或ZZ
均可以关闭当前窗口,但是其优点在于可以阻止你关闭最后一个窗口,不会意外的将Vim退出。 -
:only
命令:关闭除当前窗口之外的所有窗口。
-
- 为另一个文件分隔出一个窗口
-
:split {otherFile}
:打开第二个窗口同时在新打开的窗口中开始编辑。 -
:new
:打开一个新的窗口并开始编辑一个空的缓冲区。- 备注:可以重复的使用
:split
或new
命令打开任何你喜欢的窗口数目。
- 备注:可以重复的使用
-
- 窗口的大小
-
:3solit {fileName}
:高度为3的新窗口,名为{fileName}
的文件。
-
-
CTRL-w +
:窗口高度增加1行。
-
-
-
CTRL-w -
:窗口高度减小1行。
- 备注:可以增加计数命令,如
4CTRL-w -
一次减少4行。 -
{height} CTRL-w
:窗口高度指定为一个固定的height。 - 备注:不指定高度时,默认让窗口达到它的最大的高度。
-
:set mouse=a
:设置使用鼠标控制窗口调整。
-
-
- 常用选项
-
winminheight
:强制窗口的最小高度,可以使用:set wmh=4
。 -
winminwidth
:强制窗口的最小宽度,可以使用:set smw=4
。 -
equalalways
:自动让所有窗口均摊屏幕上可用的高度和宽度。
-
- 垂直分隔
-
- 常用命令
-
:vsplit
命令:将屏幕分成左右两个窗口,并将光标定位在左边的窗口中。 -
:vnew
:垂直打开一个新的窗口并开始编辑一个空的缓冲区。
-
- 切换窗口
-
CTRL-w h
:切换到左边的窗口。 -
CTRL-w j
:切换到下边的窗口。 -
CTRL-w k
:切换到上边的窗口。 -
CTRL-w l
:切换到右边的窗口。 -
CTRL-w t
:切换到顶部的窗口。(top) -
CTRL-w b
:切换到底部的窗口。(bottom)
-
- 移动窗口
-
CTRL-w H
:向左移动窗口 -
CTRL-w J
:向下移动窗口 -
CTRL-w K
:向上移动窗口 -
CTRL-w L
:向右移动窗口
-
- 针对所有窗口操作的命令
-
- 常用命令
-
:qall
:关闭所有的窗口。(quit all) -
:wqall
:保存所有穿够内容并关闭窗口。(write quit all) -
:qall!
:强制关闭所有的窗口,不为文件保存。
-
- 为每一个文件打开一个窗口
-
vi -o *.txt
:水平打开多个文件,并且为每一个文件打开一个窗口。 -
vi -O *.txt
:垂直打开多个文件,并且为每一个文件打开一个窗口。 -
:all
命令:将文件列表中的文件,各打开一个水平的窗口进行显示或编辑。 -
:vertical all
命令:将文件列表中的文件,各打开一个垂直的窗口进行显示或编辑。
-
- 使用vimdiff查看文件的区别
- 备注:
vimdiff
是Vim的另一种特殊的启动方式,可以显示文件的不同之处。 -
- 常用命令
-
vimdiff {fileName} {fileName}
:以diff模式打开两个文件进行比较。 -
:vertical diffsplit {fileName}
:可以运行Vim之后进行比较两个不同的文件。 -
]c
和[c
:跳到下一个或上一个两个文件的不同的地方。
-
- 消除差异
-
diffupdate
:重新比较两个文件,更细差异,主要用于修改文本之后。 -
dp
(diff put):将当前窗口不同的内容放到另一个窗口中。 -
do
(diff obtain):从另一个窗口中对应的位置上取来了差异的内容。
-
- 其他
-
CTRL-w CTRL-^
:分隔出一个窗口来编辑前一个文件。
-
-
- 常用选项
-
:set scrollbind
:打开同步滚动,通常这个选项是默认开启的。 -
laststatus
:0 永不;1 只有在有至少两个窗口时;2 总是 -
splitbelow
:用来控制新打开窗口出现在当前窗口的下边。 -
splitright
:用来控制新打开窗口出现在当前窗口的右边。
-
- 页签
- 解决平铺在显示屏幕上窗口不够用的问题。
-
CTRL-w T
:将当前活动窗口以页签的形式显示。 -
:tabedit {fileName}
:以页签的形式显示{fileName}
的文件。 -
gt
(goto tab):转到下一个标签页,最后一个标签页回到第一个。 -
gT
(goto tab):转到上一个标签页,第一个标签页回到最后一个。 -
{count}gt
:转到第{count}
个标签页,首个标签页的编号为1。 -
:tabonly
:关闭除当前页签之后的所有页签。