如何用缓冲区中已有的东西替换引号中的内容?

时间:2013-01-31 14:00:55

标签: vim

我想用一个我已经存储在缓冲区中的字符串(来自yanking y或删除d)替换引号中的内容,如下所示:

"something very important"

"something even more important"

2 个答案:

答案 0 :(得分:4)

怎么样

vi"p

光标在"

棘手的问题......我首先想出了di"P。但d将重置您未命名的寄存器(您在问题中指的缓冲区)......

根据评论编辑

我在你的问题中没有看到这个要求。如果你想保留寄存器值,你可以尝试

nnoremap <leader>pi" :let t=@"<cr>vi"p:let @"=t<cr>

这样,当你的光标位于"之间,只需键入<leader>pi"时,引号中的值将被更改为未命名寄存器的值,并且寄存器保持相同的值。

答案 1 :(得分:0)

如果您想保留原始注册内容(而不是用替换文本替换它们),您可以使用我的ReplaceWithRegister plugin。该命令将是gri"然后。