我知道如何复制一个单词,但我似乎覆盖了剪贴板中的内容,因为当我尝试复制一个单词时,它似乎无法正常工作。
要复制一个单词:
bye
如何复制一个单词?
答案 0 :(得分:23)
也许你只想这样做:
viwp
将直观地选择一个新单词并粘贴在其上。
现在,如果您不想在执行此操作时丢失注册表,您也可以输入您的vimrc:
xnoremap p pgvy
答案 1 :(得分:4)
像往常一样复制一个单词(例如yiw
)并使用
viw"0p
粘贴一个单词。由于可视模式下的命令p
(参见:help v_p
)
不会更改包含最多文本的编号寄存器0
最近的yank命令,可以一遍又一遍地粘贴相同的复制词。
答案 2 :(得分:2)
这样做一次:
ciw<C-r>0
然后总是使用你猛拉的文字替换单词:
.
您可以像这样使用搜索:
/foo<Cr>
.n.n.n
它的工作原因是:
ciw
取代内部词和
<C-r>0
使用最近被拽的寄存器来替换它,.
然后也使用它。
遗憾的是,如果您在视觉上选择要替换的文本并使用.
,则无效。
请注意,如果您最初使用视觉选择来选择要替换的文本并执行c<C-r>0
,那么.
之后将替换视觉选择中包含的相同长度的字符。
答案 3 :(得分:1)
简单的解决方法是反过来:首先粘贴新单词,然后删除旧单词。
答案 4 :(得分:1)
您可以使用寄存器0,其中包含刚刚覆盖的“剪贴板”文本。对于您的示例,您可以将文本拉出以粘贴,将光标放在单词“bye”中,然后键入
ciw
[切入;删除光标下的单词并进入插入模式]
ctrl-r 0
[注册0;从寄存器0中粘贴文本
您可以看到:disp
的所有寄存器中的内容。正如Daenyth所说,你可以使用"x
[del / cut / yank命令]进入特定的寄存器,并从命令模式粘贴"xp
,或者从insert / replace中粘贴ctrl-r x
。
答案 5 :(得分:1)
当你删除一个单词时,它会被放在"
寄存器中,这是默认的粘贴寄存器,所以当你删除要替换的单词时,它会占用{{1中的前一个单词的位置注册。但是,前一个单词将在寄存器"
中,前一个单词位于0
中,依此类推 - 您可以通过运行1
随时查看寄存器的内容。因此,要替换单词,您可以先复制第一个单词(:reg
),然后“更改”要替换的单词(yiw
),然后通过点击从寄存器ciw
插入0
,ctrl-r
。 (您也可以先删除单词(0
),然后从注册diw
粘贴:0
。
答案 6 :(得分:0)
您可以通过y
("a
是寄存器的名称)来a
进入寄存器。见How to use vim registers
b"aye