vim 缓冲区管理
管理 Vim 中打开的多个文件缓冲区
语法
:ls / :bn / :bp / :b name
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
:ls |
列出所有缓冲区 | :ls |
常用 |
:bn :bnext |
切换到下一个缓冲区 | :bn |
常用 |
:bp :bprev |
切换到上一个缓冲区 | :bp |
常用 |
:b name |
按名称切换缓冲区 | :b main |
常用 |
:bd :bdelete |
关闭缓冲区 | :bd |
常用 |
:b# |
切换到上一个编辑的缓冲区 | :b# |
进阶 |
示例
查看所有打开的文件
:ls
% 标记当前,# 标记上一个
按编号切换
:b3
切换到 3 号缓冲区
模糊匹配切换
:b main
切换到文件名含 main 的缓冲区
关闭当前缓冲区
:bd
不退出 Vim
常见错误
E37: No write since last change
当前缓冲区有未保存修改,先 :w 保存或用 :bn! 强制切换
技巧
- Ctrl+^ 快速在两个缓冲区间切换
- :bufdo %s/old/new/g 可以在所有缓冲区执行替换
- set hidden 允许切换未保存的缓冲区