如何在复制时保留我的缓冲区,然后用Vim剪切一个单词?

时间:2012-11-20 07:48:30

标签: vim

我正面临着Vim的一个简单问题: 我想复制一个单词,然后剪切另一个单词将第一个粘贴到第二位

例如:

Platea, integer nisi velit!

我想将其转换为:

Platea, integer nisi integer!

我怎样才能使它成为最简单的方法? 如果我用y复制整数然后用d剪切velit我不能复制第一个单词,缓冲区包含velit ...

3 个答案:

答案 0 :(得分:4)

您可以按照以下步骤操作:

  • Yank integer yiw
  • 视觉选择velit viw
  • 粘贴( p

另请尝试YangRing.vim插件。

答案 1 :(得分:2)

您可以尝试yank进入注册表。例如,光标位于integer

"xyiw

integer放入x注册表(任意字母),然后在删除velit后,您可以使用"xp进行粘贴。您也可以将它与多个寄存器一起使用,因此如果您需要使用不同组合中的相同单词进行各种复制/粘贴,则可能会有用。我相信Vim大师会提供一种更优雅的方式,但是如果你需要一些东西来帮助你的话,这应该会有效:)

答案 2 :(得分:1)

那是“注册”,而非“缓冲”,:help registers

以下是我~/.vimrc暂时的映射:

vnoremap <leader>p "_dP

将所选文本删除到“黑洞”寄存器中,并放入未命名寄存器的内容。容易。

另一个选择是使用寄存器零:"0p