【问题标题】:Vim: issue regarding copy and paste across different bufferVim:关于跨不同缓冲区复制和粘贴的问题
【发布时间】:2014-10-28 03:21:30
【问题描述】:

将一个缓冲区中的一些行复制到任何缓冲区时遇到问题。 这是详细信息。

例如,我使用命令 '3yy' 复制缓冲区 file1 中的 3 行,并希望使用命令 'p' 将这些行粘贴到缓冲区 file2 中。但是,如果我在这两个命令之间执行“d”命令以删除任一缓冲区中的某些行,则“p”命令将不再起作用。它无法粘贴我之前使用“3yy”复制的内容。 我在 Vim Window 7 上。

【问题讨论】:

标签: vim


【解决方案1】:

未命名的寄存器包含您拉出的内容您剪切的内容。你可以……

  • 使用0 寄存器,它总是包含最后一个 yank:"0p
  • 用“黑洞寄存器”删除“真正的”:"_d

:help registers

【讨论】:

  • 还有一个问题。如果我想将 5 寄存器中的内容粘贴 5 次。我怎么能这样做?
  • 5"5p — 那是 count + register + command。请注意,在 sashan 的回答中使用数字寄存器是一个非常的坏主意。
【解决方案2】:

就像《毁灭战士》在评论中所说,“d”会拉到默认寄存器,覆盖你之前拉的内容。如果你想保留你拉的东西,把它放在一个寄存器里。例如:

"13 年

将 3 行放入寄存器 1。您可以像这样粘贴它们:

"1p

【讨论】:

  • 编号寄存器被覆盖,命名寄存器(a 到 z)可能是更好的选择。
  • 是的,这是一个非常糟糕的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 2011-09-27
相关资源
最近更新 更多