Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim &引用;“粘贴内部”;,类似于;“猛拉内线”;_Vim - Fatal编程技术网

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)。这有

在Vim中是否有任何已知的、直接的方法来执行
内部
-函数,类似于仅使用粘贴的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
做你想做的事吗?这是我在文章末尾指定的,我最好不要使用。它和其他解决方案一起工作。”“,但尽管最终结果相同,但如果命令的行为不同于
动词
-内部方法,则命令的行为会有所不同。您以前也问过同样的问题: