我的粘贴缓冲区中有一些文本,例如,我做了一个yw
(洋语),现在缓冲区中有“ foo”。
我现在转到单词“ bar”,我想用我的粘贴缓冲区替换它。
要手动替换文本,我可以这样做cw
,然后键入新单词。
我该如何做一个“更改单词”,但要使用粘贴缓冲区的内容,而不是手动键入替换单词?
我现在最好的选择是转到我要替换并执行的单词的开头dw
(删除单词),转到另一个地方,然后执行yw
(猛击单词)。然后返回替换区域并进行p
(粘贴),这有点笨拙,尤其是当它们不在同一屏幕上时。
选项1
您可以使用寄存器来执行此操作,并为该过程进行键绑定。
用您要替换的单词来表示yw。
被拉出的单词在0
寄存器中,您可以通过发出该单词来查看:registers
。
转到您要替换并执行的单词cw。执行Ctrl+,r然后0粘贴0
寄存器。
对应的地图如下所示(假设Ctrl+j作为我们的主要组合):
:map <C-j> cw<C-r>0<ESC>
选项2(更简单)
拖拉单词后,将光标移到要替换并执行的单词上viwp。视觉上选择内部单词并粘贴。
在评论中@tlo的礼貌:您也可以这样做vep。缩短一个字符。下行必须将光标定位在单词的开头,并且(与我的一样)更改缓冲区。
评论(来自迈克尔):
很好 额外注意:第二种方法确实更容易,但是,照原样,它仅适用于ONE替换,因为在每次替换之后,缓冲区都将更改为被替换的字段(旧文本)。第一种方法较难使用,但BUT的优点是缓冲区0保持“原样”,因此您可以使用该方法对同一文本进行1次以上的替换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句