文章

Vim 多文件编辑:窗口

Vim 多文件编辑:窗口

原文链接: https://harttle.land/2015/11/14/vim-window.html

标签页(tab)、窗口(window)、缓冲区(buffer)是Vim多文件编辑的三种方式,它们可以单独使用,也可以同时使用。 它们的关系是这样的:

A buffer is the in-memory text of a file. A window is a viewport on a buffer. A tab page is a collection of windows. –vimdoc

本文主要介绍Vim窗口的创建与维护, 先上图:

vim-window

分屏打开多个文件


使用-O参数可以让Vim以分屏的方式打开多个文件:

1
2
#!vim
vim -O main.cpp my-oj-toolkit.h

使用小写的-o可以水平分屏。

打开关闭命令


在进入Vim后,可以使用这些命令来打开/关闭窗口:

1
2
3
4
5
6
#!vim
:sp[lit] {file}     水平分屏
:new {file}         水平分屏
:sv[iew] {file}     水平分屏,以只读方式打开
:vs[plit] {file}    垂直分屏
:clo[se]            关闭当前窗口

上述命令中,如未指定file则打开当前文件。

打开关闭快捷键


上述命令都有相应的快捷键,它们有共同的前缀:Ctrl+w

1
2
3
4
5
6
7
#!vim
Ctrl+w s        水平分割当前窗口
Ctrl+w v        垂直分割当前窗口
Ctrl+w q        关闭当前窗口
Ctrl+w n        打开一个新窗口(空文件)
Ctrl+w o        关闭出当前窗口之外的所有窗口
Ctrl+w T        当前窗口移动到新标签页

切换窗口


切换窗口的快捷键就是Ctrl+w前缀 + hjkl

1
2
3
4
5
6
#!vim
Ctrl+w h        切换到左边窗口
Ctrl+w j        切换到下边窗口
Ctrl+w k        切换到上边窗口
Ctrl+w l        切换到右边窗口
Ctrl+w w        遍历切换窗口

还有t切换到最上方的窗口,b切换到最下方的窗口。

移动窗口


分屏后还可以把当前窗口向任何方向移动,只需要将上述快捷键中的hjkl大写:

1
2
3
4
5
#!vim
Ctrl+w H        向左移动当前窗口
Ctrl+w J        向下移动当前窗口
Ctrl+w K        向上移动当前窗口
Ctrl+w L        向右移动当前窗口

调整大小


调整窗口大小的快捷键仍然有Ctrl+W前缀:

1
2
3
4
#!vim
Ctrl+w +        增加窗口高度
Ctrl+w -        减小窗口高度
Ctrl+w =        统一窗口高度

-= 完 =-

本文由作者按照 CC BY 4.0 进行授权