一.缓冲区类型及其标志(:ls或者:ls!命令查看)
![](https://i-blog.csdnimg.cn/blog_migrate/2deb5a1ff48d67c62d2e217e82e7e322.png)
(1) 最前面的每行1,2,3,4表示缓冲区的编号;
(2) u,#,a,%,-表示缓冲区的属性,具体的含义如下:
![](https://i-blog.csdnimg.cn/blog_migrate/cdc33fb8aecd7355245cec100493905d.png)
其中u表示这个缓冲区是vim软件(及其插件)本身打开的缓冲区,而不是用户为了编辑某个文件打开的缓冲区。特别的,如果用户只想查看自己打开的缓冲区,直接用":ls"命令即可;如果想查看当前所有缓冲区,需要使用":ls!"命令。
二.操作缓冲区
列出当前所有缓冲区
:ls / :ls! --> 区别在上面小节中有提到
添加一个缓冲区
:badd file_path / :badd +linenum filename
分屏显示所有缓冲区
:ball
通过buffer编号或者buffer对应的file_path选择某个缓冲区,并在当前窗口覆盖显示选定的buffer
:b number / :b file_path --> 按tab键可以联想并补全file_path
通过buffer编号或者buffer对应的file_path选择某个缓冲区,并拆分当前窗口显示选定的buffer
:sb number / :sb filename --> 按tab键可以联想并补全file_path
通过:bn / :bp / :blast / : bfirst切换缓冲区(所有缓冲区循环滚动)
:bn(下一个缓冲区)
:bp(前一个缓冲区)
:blast(最后一个缓冲区)
:bfirst(第一个缓冲区)
删除缓冲区 --> 为这个缓冲区打开的窗口会关闭,并从缓冲区列表中移除文件名
:bdelete file_path / :bdelete number -->删除单个缓冲区
:start,end bdelete --> 删除指定范围的缓冲区
卸载缓冲区 --> 为这个缓冲区打开的窗口会关闭,但是这个文件名仍然会存在于缓冲区列表中
:bunload file_path / :bunload number -->卸载单个缓冲区
:start,end bunload --> 卸载指定范围的缓冲区
三.允许在未保存缓冲区的情况下切换缓冲区
:set hidden
四.获取缓冲区的帮助文档
:help buffers