如何在Vim中删除(所需文本),删除(不需要的文本)和粘贴(所需文本)

时间:2010-02-16 16:26:22

标签: vim paste

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

有任何解决此问题的建议吗?

5 个答案:

答案 0 :(得分:9)

一些可能的解决方案:

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

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

"bd$

然后删除不需要的文字。

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

"bp

按照Yarek T链接到的答案中的建议,将不需要的文本删除到黑洞注册表中

"_d

答案 1 :(得分:6)

也许这个问题可能会解决你的问题。 54255

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

答案 2 :(得分:2)

另一种解决方案是使用数字寄存器。当你删除一块文本时,它被移动到寄存器1中,寄存器1的当前内容被移入寄存器2等。寄存器9的内容被丢弃。但是,这仅适用于长于行的更改,因此不会捕获小的删除。

因此,您可以删除第一个区域,删除第二个区域,然后从寄存器2中粘贴。

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

:help "1获取更多信息。

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

答案 3 :(得分:2)

类型:

:registers

您将获得包含所有先前删除的寄存器列表。您可以随时选择一个粘贴。例如。寄存器:

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

选择第二个并粘贴:

"2p

答案 4 :(得分:0)

试用yankring插件。