5

我不知道这是否是一个智障问题,但这是一个有趣的困境。当我想删除我想放在其他地方的文本,但那个地方有其他一堆我不想要的文本时,我会删除那个文本,但在这个过程中我复制了一个新的剪贴板,所以以前删除的文本消失了.

有什么建议可以解决这个问题吗?

4

5 回答 5

9

一些可能的解决方案:

首先删除不需要的文本:)

或者

删除所需文本时,将其存储在默认寄存器以外的寄存器中,例如将所需文本删除到当前行的末尾并将其存储在寄存器b中:

"bd$

然后删除您不需要的文本。

然后粘贴寄存器b的内容:

"bp

或者

按照Yarek T链接的答案中的建议,将不需要的文本删除到黑洞寄存器中,使用:

"_d
于 2010-02-16T16:38:44.007 回答
6

也许这个问题可能会对您的问题有所启发。54255

它使用“黑洞缓冲区”来删除行而不将它们添加到 yank 缓冲区。

于 2010-02-16T16:37:45.880 回答
2

另一种解决方案是使用数字寄存器。当您删除一块文本时,它会被移入寄存器 1,寄存器 1 的当前内容被移入寄存器 2,依此类推。寄存器 9 的内容被丢弃。但是,这只适用于超过一行的更改,因此不会捕获小删除。

所以你可以删除第一个区域,删除第二个区域,然后从寄存器 2 粘贴。

我个人更喜欢使用寄存器 az,但是如果您删除了一些文本然后意识到您忘记指定一个寄存器,编号的寄存器很有用。

:help "1了解更多信息。

您还可以查看当前所有寄存器中的内容,包括 1-9,:registers

于 2010-02-16T18:03:39.063 回答
2

类型:

:registers

您将获得包含所有先前删除的寄存器列表。你总是可以选择一个来粘贴。例如对于寄存器:

"1   Item1^J
"2   Item3^J
"3   Item2^J

选择第二个并粘贴:

"2p
于 2010-02-19T00:37:20.607 回答
0

试试yankring插件。

于 2010-02-20T00:03:52.497 回答