[Vim] usr_08
Notes Vim User Manual
Lastmod: 2022-01-17 周一 23:32:03

usr_08 分割窗口

08.1 分割窗口

增加一个水平的分割线

:split

要在窗口间跳转可以使用

<CTRL-W>w

<CTRL-W><CTRL-W>

关闭当前窗口

:close

多数时候类似于 quit,但只有一个窗口时 :close 不会退出 vim

关闭其他窗口

:only

08.2 用另一个文件分割窗口

:split <FILENAME>

或分屏并编辑一个新文件

:new

08.3 窗口大小

:split 也支持计数前缀

要扩大窗口

<CTRL-W>+

缩小

<CTRL-W>-

这两个命令也支持计数前缀。

或者设置窗口高度为 <HEIGHT>

<HEIGHT><CTRL-W>_

去掉前缀则会把当前窗口变得尽可能大。

最小期望窗口大小在 winheightwinwidth 设置。 最小窗口大小在 winminheightwinminwidth 设置。

08.4 垂直分割

:vsplit

或者

:vnew

窗口间跳转

<CTRL-W>h
<CTRL-W>j
<CTRL-W>k
<CTRL-W>l
<CTRL-W>t
<CTRL-W>b

hjkl 对应左下上右。tb 对应最上和最下。

08.5 移动窗口

<CTRL-W>H
<CTRL-W>J
<CTRL-W>K
<CTRL-W>L

分别对应把窗口移动到最左下上右。

08.6 对所有窗口执行命令

退出所有窗口

:qall

光标会跳转到没保存的文件。

全部保存

:wall

全部保存退出

:wqall

打开 vim 时为每一个文件打开窗口

vim -o one.txt two.txt three.txt

使用 -O 则会垂直分割。

vim 已经启动了,也可以使用

:all

来为每一个打开的文件打开窗口。

或者

:vertical all

08.7 用 vimdiff 显示文件差异

命令行中

vimdiff one.txt two.txt

vim 会显示不同的部分,用 -------- 标记删除的行,折叠重复的部分

使用 zozc 可以打开或者关闭一个折叠。

或者在 Vim 内部

:vertical diffspllit <ANOTHER-FILE>

Vim 会在滚屏时尽量保证两个文件对齐。可以设置不对齐

:set noscrollbind

跳转到下一个修改点

]c

到上一个修改点

[c

消除差异

修改之后恢复高亮

:diffupdate

可以通过如下命令消除两边的差异

:dp

(diff put)

:do

(diff obtain)

08.8 杂项

laststatus 选项用于指定什么时候对最后一个串口显示状态条

0 永远不

1 只有分割窗口时

2 永远有

很多编辑另一个文件的命令都有分割窗口的变体,通过前面加一个 s,如 tag 命令可以 :stag 跳转并分屏。普通模式前置 <CTRL-W> 也可以实现这个功能,如 <CTRL-W><CTRL-^>

splitbelow 可以让分屏出现在下面,splitright 可以让分屏出现在右边。

打开新窗口时可以在命令前加上一个修饰符说明出现的位置

:leftabove {cmd}
:aboveleft {cmd}
:rightbelow {cmd}
:belowright {cmd}
:topleft {cmd}
:botright {cmd}

08.9 标签页

创建新的标签页

:tabedit <FILENAME>

在标签页间切换

gt

在标签页显示 gt 的帮助内容

:tab help gt

关闭当前以外的其他标签页

:tabonly
Prev: 《Learning Python》 笔记 第 1 章 问答环节
Next: [Vim] usr_09