星期五, 七月 24, 2009

VIM学习笔记 缓冲区 (Buffer)

缓冲区(Buffer)是一块内存区域,用于存储着正在编辑的文件。在保存缓冲区并退出时,内容也随之被写回原始文件。可以使用:help buffers命令,查看关于缓冲区的帮助信息。

增加缓冲区

使用:badd filename命令将新增一个缓冲区。指定的文件会被加载到缓冲区列表中,但是对这个文件的编辑过程只有切换到那个缓冲区时才会开始。在命令中,还可以指明为这个缓冲区打开窗口时,光标所处的位置:

:badd +linenum filename

列示缓冲区

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

- (Inactive buffer,非活动的缓冲区,没有正在被编辑)
a (Active buffer,激活缓冲区,当前显示在屏幕上)
h (Hidden buffer,隐藏的缓冲区,正在被编辑但没有显示在屏幕上)
% (current buffer,当前的缓冲区)
# (Alternate buffeer,交换缓冲区)
= (Readonly buffer,只读缓冲区)
+ (Modified buffer,已经更改的缓冲区)

Buffers

选择缓冲区

可以使用number参数,选择指定标号的缓冲区:

:buffer number

也可以使用文件名来选择缓冲区:

:buffer filename

我们可以用:sbuffer number命令,来分割当前窗口开始编辑一个缓冲区。如果指明了数字,那么当前窗口就会显示数字所标记的缓冲区中的内容;如果没有指明数字,那么就会显示当前缓冲区的内容。当然,这个命令也可以用文件名来做为参数:

sbuffer filename

使用:ball命令可以为每一个缓冲区打开一个窗口。

切换缓冲区

:bnext到下一个缓冲区;:bprevious:bNext到前一个缓冲区;:blast到最后一个缓冲区;:bfirst到第一个缓冲区。

根据默认设置,在切换到另一缓冲区之前,Vim将提示你保存当前缓冲区。你也可以使用:set hidden命令,允许在未保存的情况下切换缓冲区。

删除缓冲区

可以使用:bdelete filename:bdelete 3:3 bdelete命令来删除一个缓冲区。也可以用:1,3 bdelete命令来删除指定范围的缓冲区。

如果缓冲区被改动过,那么该命令将失败,除非使用!选项。如果使用了带!选项的:bdelete! filename命令,那么在缓冲区中的所有改动都会被放弃。

卸载缓冲区

命令:bunload会从内存中卸载一个缓冲区,所有为这个缓冲区打开的窗口也会关闭。但是这个文件名仍然会存在于缓冲区列表中。如果缓冲区被改动过,那么该命令将失败,除非使用!选项,但是这样所有的改动都会丢失。

命令小结
:buffers列示缓冲区状态
:buffer编辑指定缓冲区
:ball编辑所有缓冲区
:bnext到下一缓冲区
:bprevious到前一缓冲区
:blast到最后一个缓冲区
:bfirst到第一个缓冲区
:bmodified到修改过的缓冲区
:badd增加缓冲区
:bdelete删除缓冲区
:bunload卸载缓冲区

Ver: 1.0<上一篇 | 目录 下一篇>

没有评论:

发表评论