Vim 缓冲区 / 多窗口 / 标签页:同时编辑多文件
更新时间:2026-08-30。本文是
languages/vim/主题入门层第 7 篇。
本文要回答的问题
- buffer / window / tab 到底有什么区别?
- 怎么左右/上下分屏看两个文件?
- 怎么在多个打开的文件之间切来切去?
一、三个概念的关系
一句话:buffer 是文件本身,window 是你看它的窗口,tab 是窗口的排布方案。一个 buffer 可以被多个 window 同时显示。
二、缓冲区(buffer)
| 命令 | 作用 |
|---|---|
:e 文件 | 打开(编辑)另一个文件,加入 buffer 列表 |
:ls 或 :buffers | 列出所有已打开 buffer |
:b2 | 跳到第 2 号 buffer |
:bn / :bp | 下一个 / 上一个 buffer |
:bd | 关闭当前 buffer(delete) |
三、窗口(window / 分屏)
| 命令 | 作用 |
|---|---|
:sp 文件 或 :split | 上下分屏 |
:vsp 文件 或 :vsplit | 左右分屏 |
Ctrl-w h/j/k/l | 在窗口间移动焦点 |
Ctrl-w = | 等分窗口大小 |
Ctrl-w o | 只留当前窗口(关闭其余) |
Ctrl-w _ / `Ctrl-w | ` |
对照 移动命令:窗口间跳转用 Ctrl-w 前缀,和普通移动 hjkl 一致,好记。
四、标签页(tab)
标签页是"窗口布局"的容器,适合把不同任务分开:
| 命令 | 作用 |
|---|---|
:tabnew 文件 | 新标签页打开文件 |
gt / gT | 下一个 / 上一个标签页 |
:tabn 2 | 跳到第 2 个标签页 |
:tabc | 关闭当前标签页 |
五、实战:边看日志边改配置
vim
vim /etc/nginx/nginx.conf
:vsp /var/log/nginx/error.log " 右边开日志
Ctrl-w l " 焦点到右窗
Ctrl-w = " 等分配合 搜索替换 在配置里定位、在日志里对照,是经典排障姿势。
六、与本站主线衔接
一句话总结
buffer=文件、window=看文件的视窗、tab=窗口布局;:vsp/:sp 分屏、Ctrl-w hjkl 切窗、gt 切页——多文件并排是服务器排障的基本功。
上一篇:Vim 搜索与替换 下一篇:Vim 寄存器:剪贴板与多槽暂存