我只知道一个使用寄存器的实例是经过Ctrl R *的 ,所以我从剪贴板粘贴了文本。 vim
寄存器的其余用途是什么? 如何使用它们? less
您所了解的关于VI寄存器的全部信息(让咱们关注vi 7.2)-与咱们分享。 测试
一个很酷的技巧是使用"1p
粘贴上一个删除/更改(,而后使用.
重复粘贴后续的删除。 "1p...
换句话说, "1p...
基本上等同于"1p"2p"3p"4p
。 this
您可使用此命令对少数几行进行反向排序: dddddddddd"1p....
spa
形成混乱的一大缘由是默认寄存器"
。了解其工做方式很重要。若是大多数时候都避免使用默认寄存器,那就更好了。Vim文档中的解释: 指针
Vim fills this register with text deleted with the "d", "c", "s", "x" commands or copied with the yank "y" command, regardless of whether or not a specific register was used (e.g. "xdd). This is like the unnamed register is pointing to the last used register.
所以,默认寄存器其实是指向最后使用的寄存器的指针。 当您删除或删除某些内容时,该寄存器将指向其余寄存器。 您能够经过检查寄存器来测试。 老是有另外一个与默认寄存器彻底相同的寄存器:yank寄存器( "0
),第一个删除寄存器( "1
),小型删除寄存器( "-
)或用于删除或yank的任何其余寄存器。 code
惟一的例外是黑洞寄存器。 Vim doc说: 排序
An exception is the '_' register: "_dd does not store the deleted text in any register.
一般,直接使用"0
, "-
和"1-"9
默认寄存器或命名寄存器会更好。 ci
Vim中的寄存器使您能够对其中存储的文本运行操做或命令。 要访问寄存器,请在命令前键入"a
,其中a
是寄存器的名称。若是要将当前行复制到寄存器k
,则能够键入 文档
"kyy
或者,您可使用大写字母追加到注册簿中
"Kyy
而后,您能够浏览文档并将其粘贴到其余位置
"kp
从Linux上的系统剪贴板粘贴
"+p
从Windows上的系统剪贴板(或Linux上的“鼠标突出显示”剪贴板)粘贴
"*p
要访问全部当前定义的寄存器类型
:reg
其余有用的寄存器:
"*
或"+
-系统剪贴板的内容
"/
-最后一个搜索命令
":
-最后一个命令。
请注意,对于vim宏,您能够编辑它们,由于它们只是记录宏时使用的击键列表。 所以,您能够将宏写入文本文件(使用"ap
写入宏a” )并对其进行编辑,而后使用"ay$
将其加载到寄存器中。 存储有用宏的好方法。