粘贴选定文本时,vim如何保留寄存器的内容?

时间:2012-05-23 15:58:45

标签: vim copy-paste

我有一行文字我抓了yy。现在我想用这个文本替换其他几个地方的行。问题是当我选择V要替换的行并粘贴p时,所选的文本会被自动拉出!这就是我不想要的。

更改寄存器不起作用,因为粘贴和抽取都是使用新选择的寄存器完成的。

粘贴选定文本时保留寄存器内容的命令是什么?

2 个答案:

答案 0 :(得分:23)

您的原始选择应保留在注册0中。因此,您可以使用以下内容浏览文件并将您的拉线粘贴到其他行:V"0p

答案 1 :(得分:21)

每次p超过某些东西时,它都会进入默认寄存器。

要解决此问题,您必须在"_之前使用p,“黑洞注册”。这是我在~/.vimrc中的自定义映射:

vnoremap <leader>p "_dP

删除所选内容并将其丢弃在黑洞寄存器中(这意味着所选文本将永久消失)并将默认寄存器的内容放在以前选择的文本的位置,同时保留默认寄存器。

当我需要用另一个looooooong url替换一些地方的loooooooong url并且制作s//太麻烦时,我经常使用它。