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>_
去掉前缀则会把当前窗口变得尽可能大。
最小期望窗口大小在 winheight
和 winwidth
设置。 最小窗口大小在 winminheight
和 winminwidth
设置。
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 会显示不同的部分,用 --------
标记删除的行,折叠重复的部分
使用 zo
和 zc
可以打开或者关闭一个折叠。
或者在 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
Next: [Vim] usr_09