vi的缓冲区

vi的缓冲区除了保存当前文本之外,还可以完成复制、粘帖等任务。熟悉vi的缓冲区对于使用vi编辑文档有很大好处。

vi有一个保存当前文本内容的缓冲区,编辑文档的时候只是改变这个缓冲区的内容,存盘的时候vi才会把缓冲区内容拷贝到磁盘。

vi中非常有用的缓冲区是用来做复制和粘帖的。每次使用d命令(表示delete)和y命令(表示yank),其实vi就是把相应的删除内容或者复制内容放到缓冲区,使用p命令(表示paste)就会把这个无名缓冲区的内容放到光标所在位置。因此d和p组合使用就能实现剪切的效果,y和p组合使用就能实现复制的效果。

vi buffer
vi buffer

但是只有一个用来复制和粘帖的缓冲区,灵活性还不够。其实vi也考虑到这一点,因此除了这个无名缓冲区,vi还提供a到z一共26个命名的缓冲区,可以像无名缓冲区一样使用。需要使用时,先敲双引号”,然后敲a到z其中一个字母表示指定改名字的缓冲区,然后d和y命令照常输入即可。

除了英文命名缓冲区,其实vi还提供数字命名缓冲区,从1到9。这9个缓冲区不能随意存,能随意取。实际上这些缓冲区是之前的d和y命令所得的缓冲区,举个例子,如果执行d命令,那么内容会放到1号缓冲区,再执行y命令,新的内容放到1号缓冲区,而原来1号缓冲区的内容则放置在2号缓冲区,以此类推。因此可以合理猜测,1号缓冲区和无名缓冲区可能是同一回事。

Advertisements

2 thoughts on “vi的缓冲区

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s