超实用的vim的寄存器操作

超实用的vim的寄存器操作

一.寄存器分类

1.无名(unnamed)寄存器:"",缓存最后一次操作内容;即复制(yy等)或删除(dd等)文本存放的地方,如果直接执行粘贴p(未指定任何寄存器),则直接从此寄存器读取数据并粘贴。

2.数字(numbered)寄存器:"0 ~"9,缓存最近操作内容,复制与删除有别:

"0 寄存器缓存最近一次不指定寄存器复制(如yy,2yy,3yy…)的内容,(yy,2yy,3yy操作后“”与“0寄存器里的内容都是相同的

"1-"9寄存器 缓存最近9次删除内容。1最新,9最旧,由vim自动维护,而且由于超过9个删除时顺序会发生变化。因此我觉得我们一般不必记得”1-“9存了什么内容,也难以记住。使用前可以通过:reg查一下寄存器的内容再选择操作。

要读取这些寄存器进行粘贴,使用“np,如”0p,“1p

3.行内删除(small delete)寄存器:"-,缓存行内删除(如x,2x,3x等)内容;
要读取这些寄存器进行粘贴,使用“-p


4.具名(named)寄存器:"a ~ "z或"A – "0Z,指定时可用;我平时习惯用mk作标记,然后光标移到某行使用”ay'k复制,这里的a就是寄存器a,然后用“ap粘贴。

(同一个字母的大写和小写表示的是同一个寄存器,但是行为会不同,字母寄存器的名称大写时,当使用大写的寄存器进行复制或者删除文本时,原先的字母寄存器中的内容会被保留,刚删除或复制的内容则附加到原来字母寄存器内容的后面。 字母寄存器只有在指定时才被使用。)


5.只读(read-only)寄存器:":,".,"%,"#,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名;

": 最近命令 ". 最近插入文本,还记得我们用 . 来重复最近操作不? "% 当前文件名 "# 当前交替文件名,还记得e#不?


6.表达式(expression)寄存器:"=,只读,用于执行表达式命令;不常用,反正我没用过。

7.选择及拖拽(selection and drop)寄存器:"*,"+,"~,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用;不常用。

8.黑洞(black hole)寄存器:"_,不缓存操作内容(干净删除);不常用

9.模式寄存器(last search pattern):"/,缓存最近的搜索模式。我们用/或?搜索时会将搜索字符串存到此寄存器。

(助记:调用寄存器方式为“+寄存器名,如”0,"a,"%等)

二. 查看寄存器内容

:reg 查看所有寄存器内容

:reg 寄存器名 查看单个寄存器内容 比如 :reg _ :reg * :reg 1 :reg 9 :reg a 等等

三. 总结

命令难以记住,除了摸清规律外,最好的方法是多操作,这样印象是最深的。好像我自己,有时让我说用什么命令我说起来很陌生,但假如要我操作却可以很熟练地打出来。这就是感觉吧!关于vim寄存器还有很多功能,比如赋值,计算等,但我觉得那些不常用,因此也不写了,有兴趣的同学网上搜搜吧。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部