我不知道这是否是一个智障问题,但这是一个有趣的困境。当我想删除我想放在其他地方的文本,但那个地方有其他一堆我不想要的文本时,我会删除那个文本,但在这个过程中我复制了一个新的剪贴板,所以以前删除的文本消失了.
有什么建议可以解决这个问题吗?
一些可能的解决方案:
首先删除不需要的文本:)
或者
删除所需文本时,将其存储在默认寄存器以外的寄存器中,例如将所需文本删除到当前行的末尾并将其存储在寄存器b中:
"bd$
然后删除您不需要的文本。
然后粘贴寄存器b的内容:
"bp
或者
按照Yarek T链接的答案中的建议,将不需要的文本删除到黑洞寄存器中,使用:
"_d
也许这个问题可能会对您的问题有所启发。54255
它使用“黑洞缓冲区”来删除行而不将它们添加到 yank 缓冲区。
另一种解决方案是使用数字寄存器。当您删除一块文本时,它会被移入寄存器 1,寄存器 1 的当前内容被移入寄存器 2,依此类推。寄存器 9 的内容被丢弃。但是,这只适用于超过一行的更改,因此不会捕获小删除。
所以你可以删除第一个区域,删除第二个区域,然后从寄存器 2 粘贴。
我个人更喜欢使用寄存器 az,但是如果您删除了一些文本然后意识到您忘记指定一个寄存器,编号的寄存器很有用。
:help "1
了解更多信息。
您还可以查看当前所有寄存器中的内容,包括 1-9,:registers
类型:
:registers
您将获得包含所有先前删除的寄存器列表。你总是可以选择一个来粘贴。例如对于寄存器:
"1 Item1^J
"2 Item3^J
"3 Item2^J
选择第二个并粘贴:
"2p
试试yankring插件。