Vim寄存器

Posted on Oct 27, 2013

谈Vim寄存器前先对昨天做个总结吧。Rails Girls昨天在西安的ThoughtWorks成功举办,目的是帮女性程序员了解Ruby & Rails,报名参加的学员大概有30多人,教练大致有10来个,由于活动是ThoughtWorks和西安的Rubyists一起合作举办,所以我作为西安Rubyists的一员报名当了教练(由于教练奇缺,而我们Rubyist成员大多都去北京参加RubyConf了,所以我作为Rubyists里面的菜鸟报名当教练了,去了发现除我外,其他教练都是TW员工,顿时汗颜)。

每个教练指导2-3个学员,人员的分配通过软件随机组合,没想到竟然给我分了3个!不过幸好有指导教程,指导起来便没有无从下手的感觉,由于报名的学员几乎都没接触过Rails,所以指导难度不是很大,大概从环境的配置到一个简单的web应用生成方面进行了指导,然后加上TW准备的几个Session演讲,一天也就过去了,临近结束,没想到竟然碰到同一个县城的老乡,真的太意外了。临走前还一起吃了个饭,聊了估计有差不多一个小时,然后匆忙的坐车回学校了,到学校门口天早已漆黑一片,感觉特别累,到教研室待到差不多11:00便回宿舍睡觉了。有时候真的在想,要是上班了那不得累趴下!这还什么事都没干就这么累。

不知不觉码字码了这么多,但感觉毫无重点,还是进入正题吧,不然就感觉文不对题了。

Vim的寄存器类型请通过:help registers查看,下面只介绍两种:

  1. 数字寄存器
  2. 字母寄存器

##1. 数字寄存器

数字寄存器大致有10种,编号从0-9,并且都以"开头,通过:reg便可查看。其中"0保存上次复制(y)操作的文本,而"1——"9寄存器则保存最近9次删除的文本,"1保存的是最近一次删除的内容,如果又有新的操作,则将1保存到2中,然后1保存最新内容。

##2. 字母寄存器

字母寄存器从a-z或者A-Z,其中指定a-z会替换掉他们先前存储的内容,而A-Z则会在它们先前保存的内容中追加新内容。

一般paste可能都通过来操作,这仅粘贴0或1寄存器中的内容,要想粘贴内容其他寄存器的内容,则需通过寄存器的名称+p来操作。如将内容保存到a寄存器中,则可在normal模式下输入"ayy,将光标当前行内容存储在a寄存器中,粘贴便可通过"ap来操作。

寄存器可能平时用不上,一般在需要录制宏的时候才会用到。想要更深入的了解,还是:help registers看帮助文档吧。