Vim替换内部引号

时间:2012-11-06 02:54:51

标签: vim

我很多时候发现我会想要在引号之间拉出内容并将它们粘贴到另一组引号中。例如,以此代码为例。

var foo = 'bar',
    baz = 'buz';

我通常会在yi'内执行'bar'来取消 bar 这个词。

如何用我的猛拉取代 buz ?我知道一个选项是di'"0P,我只是想知道是否有一个更容易解决的问题。

3 个答案:

答案 0 :(得分:23)

将光标放在单词buz上的任意位置,vi'p可以在引号内部直观地选择,然后将最近的内容放入。

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

在您以可视模式替换内容后,请注意,正在替换的内容现在将在您注册中。命令:reg将显示它。 在您的示例中,命令p会将buz粘贴到编辑器中。

相关问题