缓冲区(Buffer)是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。
列示缓冲区
:buffers
命令将会列出当前编辑中所有的缓冲区状态。在这个状态列表中,前面的数字是缓冲区的数字标记,第二个标记就是缓冲区当前的状态,紧接着是与缓冲区所关联的文件名。有如下几种状态:
- (非活动的缓冲区)
a (激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)
打开缓冲区
如果要选择一个缓冲区,可以使用:buffer number
命令,number就是缓冲区状态列表中所显示的数字。我们也可以用文件名来选择缓冲区::buffer file
。
我们可以用:sbuffer number
命令,来分割当前窗口开始编辑一个缓冲区。如果指明了数字,那么当前窗口就会显示数字所标记的缓冲区中的内容;如果没有指明数字,那么就会显示当前缓冲区的内容。当然,这个命令也可以用文件名来做为参数。
使用:ball
命令可以为每一个缓冲区打开一个窗口。
切换缓冲区
:bnext
到下一个缓冲区;:bprevious
或:bNext
到前一个缓冲区;:blast
到最后一个缓冲区;:bfirst
到第一个缓冲区。
增加缓冲区
在编辑的过程中,可以用:badd filename
命令新增一个缓冲区。指定的文件会被加到缓冲区列表中,对这个文件的编辑过程只有切换到那个缓冲区时才会开始。在这个命令中,还可以指明为这个缓冲区打开窗口时,光标所处的位置:badd +linenum filename
。
删除缓冲区
可以使用:bdelete filename
、:bdelete 3
或:3 bdelete
命令来删除一个缓冲区。也可以用:1,3 bdelete
命令来删除指定范围的缓冲区。
如果缓冲区被改动过,那么该命令将失败,除非使用!选项。如果使用了带!选项的:bdelete! filename
命令,那么在缓冲区中的所有改动都会被放弃。
卸载缓冲区
命令:bunload
会从内存中卸载一个缓冲区,所有为这个缓冲区打开的窗口也会关闭。但是这个文件名仍然会存在于缓冲区列表中。如果缓冲区被改动过,那么该命令将失败,除非使用!选项,但是这样所有的改动都会丢失。
:buffers | 列示缓冲区状态 |
:buffer | 编辑指定缓冲区 |
:ball | 编辑所有缓冲区 |
:bnext | 到下一缓冲区 |
:bprevious | 到前一缓冲区 |
:blast | 到最后一个缓冲区 |
:bfirst | 到第一个缓冲区 |
:badd | 增加缓冲区 |
:bdelete | 删除缓冲区 |
:bunload | 卸载缓冲区 |