Vim命令粘贴突出显示的单词

时间:2014-05-15 14:52:16

标签: vim

我最近才学会了使用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

谢谢!

2 个答案:

答案 0 :(得分:1)

@Kent已经概述了基本方法:您y点击源词,然后p对所选替换点进行aste。缺点是你只能这样做一次,因为这个动作会覆盖原始的被拉动的文本!为避免这种情况,您需要指定黑洞寄存器。

我经常这样做,我写了一个插件来简化并允许最大速度:ReplaceWithRegister

此插件提供了一个二合一gr命令,该命令用{motion} / text对象,整行或当前选择覆盖的文本替换寄存器的内容;旧文本被删除到黑洞寄存器中,即它已经消失了。它透明地处理许多极端情况,并允许通过标准.命令快速重复。如果您不喜欢它,它的页面会链接到替代品。

答案 1 :(得分:0)

  • 光标[a]nother,按yw
  • 然后j光标位于[s]elf,请按:vawp