用户工具

站点工具


linux:vim:buffer

VIM 缓冲区(Buffer)

缓冲区(Buffer)是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。

列示缓冲区

:buffers命令将会列出当前编辑中所有的缓冲区状态。在这个状态列表中,前面的数字是缓冲区的数字标记,第二个标记就是缓冲区当前的状态,紧接着是与缓冲区所关联的文件名。有如下几种状态:

- (非活动的缓冲区)
a (激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)

Buffers

打开缓冲区

如果要选择一个缓冲区,可以使用: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卸载缓冲区

linux/vim/buffer.txt · 最后更改: 2010/06/02 01:18 (外部编辑)