vim 剪切粘贴历史

vim 剪切粘贴历史

当我在 vim 中“剪切”时,我相信有一些寄存器会保存我最近剪切的所有内容的历史记录。我如何访问这些寄存器?

例如,假设我把这些单词逐个剪切下来

  • '你好'
  • '世界'
  • '和'
  • “Vim”

请注意,我实际上并没有将这些编辑保存到特定的寄存器中,我只是连续使用“d”四次。

答案1

:help 寄存器

命令显示有 10 个编号寄存器("0"9)。

注册"0是最近的事情拉扯; 注册"1有最新的删除文本,注册"2前一次的删除,"3之前有删除,等等。

如果依次删除每一行,寄存器"1"2"3"4分别包含“Vim”、“And”、“World”和“Hello”。

您可以使用:reg(或:registers)命令来验证这一点:

:reg
""   Vim^J
"1   Vim^J
"2   And^J
"3   World^J
"4   Hello^J

因此,在一次删除四行之后,你可以使用以下命令恢复第二行(“World”)

"3p

因为这是最近第三次删除。

答案2

除了 njd 的答案之外,还可以使用以下方法简化扬克环插件。除了可以更轻松地浏览以前的 yank 之外,您还可以配置一些键,以便将以前的 yank 从“堆栈”中弹出。这允许您执行以下操作:

yy    " Copy first line
yy    " Copy second line
yy    " Copy third line
yy    " Copy fourth line
" Assumes you've mapped ,p to be the pop command: choose your preferred key or key-combination
,p    " Paste fourth line and pop it off the Yank Ring
,p    " Paste third line and pop it off the Yank Ring
,p    " Paste second line and pop it off the Yank Ring
,p    " Paste first line and pop it off the Yank Ring

相关内容