Vim &引用;“粘贴内部”;,类似于;“猛拉内线”;
在Vim中是否有任何已知的、直接的方法来执行Vim &引用;“粘贴内部”;,类似于;“猛拉内线”;,vim,Vim,在Vim中是否有任何已知的、直接的方法来执行内部-函数,类似于仅使用粘贴的yank-inner和delete-inner?我知道如何在视觉模式下实现这一点,但感觉有几步太长了 例如: 删除内部(di): user.name(“Carl”)->di“->user.name(“”+Carl被复制到剪贴板 现在,我偶尔发现自己也想做这样的事情: user.name(“”)->pi->user.name(“Carl”) 我不喜欢在视觉模式中执行额外的步骤,也不喜欢执行字符/字符串搜索(/,f,t)。这有
内部
-函数,类似于仅使用粘贴的yank-inner和delete-inner?我知道如何在视觉模式下实现这一点,但感觉有几步太长了
例如:
删除内部(di
):
user.name(“Carl”)
->di“->user.name(“”
+Carl
被复制到剪贴板
现在,我偶尔发现自己也想做这样的事情:
user.name(“”)
->pi->user.name(“Carl”)
我不喜欢在视觉模式中执行额外的步骤,也不喜欢执行
字符/字符串搜索(/,f,t)。这有什么办法吗?如果有必要,也欢迎插件推荐。我经常需要它,我编写了一个插件来简化(即没有中间视觉模式)并允许最大速度: 这个插件提供了一个二合一的
gr
命令,用寄存器的内容替换{motion}/text对象、整行或当前选择所覆盖的文本;旧文本被删除到黑洞寄存器中,即它消失了。它透明地处理许多拐角情况,并允许通过标准的
命令快速重复。如果您不喜欢它,它的页面上会有指向备选方案的链接
所以,你的例子应该是g r i”
编辑:以前的插件版本不能很好地处理空文本对象;在最新版本1.41中修复了该问题。“\u di”p
对我来说很有用,它粘贴到左边而不是右边,这样就把它放在引号里了
假设您希望使用剪贴板上的值更改该值
或者,您可以使用
:map
将pi“映射到上面的命令或可视化方法键我将执行vi”p
只比您的pi”
多击一次键,而无需插件/脚本/映射。这就是我目前所做的,我只是想知道是否有任何方法/计划可以使Vim的粘贴功能能够作用于文本对象。f“p
做你想做的事吗?这是我在文章末尾指定的,我最好不要使用。它和其他解决方案一起工作。”“,但尽管最终结果相同,但如果命令的行为不同于动词
-内部方法,则命令的行为会有所不同。您以前也问过同样的问题: