假设我通过使用视觉选择+猛拉将3个字符"foo"拉入我的剪贴板,即:'vllly'
然后我将光标移动到第5行的另一个角色(让我们称之为这个角色x),我想用之前的东西替换,即foo.
我可以使用'p'在x之后粘贴foo,或者'P'在x之前粘贴foo,但我想用foo 替换 x.
我可以使用'vp'用foo替换x,但这只能工作一次,因为它在我的剪贴板中留下了x.换句话说,如果我移动到下一次出现的x并再次点击vp,它就不会用foo替换它.
当然,我可以通过使用:s/x/foo/gc进行搜索/替换,然后忽略我不想替换的所有x的出现,但这有点单调乏味,特别是当我需要的时候do是替换2或3次出现的x非常接近我的光标但不在同一行上(即:第2,3和7行).
所以目前我正在使用:2,7s/x/foo/gc但是我想知道是否有办法将光标移动到x并点击[在这里插入魔术按钮]以用foo替换它.然后我可以移动到我的下一次出现的x并再次点击[魔术按钮]并且繁荣,它再次用foo替换x.
尽管我很难用这个比喻,想象你输入的是记事本,然后选择3个字符,按Ctrl + c将它们复制到剪贴板中,然后高亮显示x,然后按Ctrl + v将其替换为FOO.然后突出显示另一个x,然后再次按Ctrl + v,依此类推.
我怎么在vim中这样做?
Ste*_*fan 44
怎么样s<C-r>0
,这可以重复.
s
删除光标下的字符并进入插入模式.<C-r>0
insert寄存器0,用于保存被拉动的文本.您也可以手动使用s
和键入foo
,也可以重复使用.