44

这是我的问题:

我在视觉模式。

我选择文本并将其复制到缓冲区。((y)ank)

我选择另一个要替换的文本并粘贴缓冲区。((粘贴)

现在第二个选择已被替换在缓冲区中,但是我希望第一个仍然坐在那里。

有任何想法吗?

4

2 回答 2

36

通常,这种行为很有用。当你不想要它时,你可以做通常的 yank,然后用"0p. 您可以多次执行此操作。

查看:help v_p更多。

如果要避免覆盖,则需要先删除。您可以使用"_选择黑洞缓冲区,然后删除d,然后粘贴之前P,您将避免设置缓冲区。

于 2010-10-01T09:16:08.277 回答
1

虽然这在技术上并不能回答问题(不使用默认缓冲区),但它确实解决了问题的症状,所以我想我仍然会分享。我解决了这个问题,解决了一个不同的问题。

我已将系统剪贴板中的“复制、粘贴”(拉动、放置)映射到“Ctrl-Shift-C、Ctrl-Shift-V”(如果大写锁定打开,则为 Ctrl-C、Ctrl-V)。这可以用来代替y具有相同的效果。

如果我使用系统缓冲区进行复制,粘贴时它不会被覆盖。

我将此添加到我的 .vimrc

vnoremap <C-V> "*p 
vnoremap <C-C> "*y

作为奖励,它可以让您轻松访问系统剪贴板。

于 2020-06-18T23:56:10.670 回答