我最近才学会了使用v
命令来标记我要复制或剪切的部分。这很棒!
但我想使用v
命令制作我想要替换的部分。
例如:
$another_obj->method_in_obj
$self->method_actually_in_obj
我想标记“another_obj”并用“another_obj”覆盖“self”。基本上我想告诉vim,我想取这4个字符(self)并将它们变成这11个字符(another_obj)并让vim相应调整我的行。
所以决赛应该是:
$another_obj->method_in_obj
$another_obj->method_actually_in_obj
谢谢!
答案 0 :(得分:1)
@Kent已经概述了基本方法:您y
点击源词,然后p
对所选替换点进行aste。缺点是你只能这样做一次,因为这个动作会覆盖原始的被拉动的文本!为避免这种情况,您需要指定黑洞寄存器。
我经常这样做,我写了一个插件来简化并允许最大速度:ReplaceWithRegister。
此插件提供了一个二合一gr
命令,该命令用{motion} / text对象,整行或当前选择覆盖的文本替换寄存器的内容;旧文本被删除到黑洞寄存器中,即它已经消失了。它透明地处理许多极端情况,并允许通过标准.
命令快速重复。如果您不喜欢它,它的页面会链接到替代品。
答案 1 :(得分:0)
[a]nother
,按yw
j
光标位于[s]elf
,请按:vawp