0

我在使用 Vim 时遇到了一个简单的问题:我想复制一个单词,然后剪切另一个单词以将第一个单词粘贴到第二个位置

例如 :

Platea, integer nisi velit!

我想将其转换为:

Platea, integer nisi integer!

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

4

3 回答 3

4

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

  • 扬克integer( yiw)
  • 视觉选择velit( viw)
  • 粘贴 ( p)

也试试YangRing.vim插件。

于 2012-11-20T07:59:07.260 回答
2

您可以尝试yank进入寄存器。例如,将光标放在 上integer

"xyiw

它将拉integerx寄存器(任意字母),然后删除后velit,您可以使用"xp. 您也可以将它与多个寄存器一起使用,因此如果您需要使用不同组合的相同单词进行各种复制/粘贴,它可能会很有用。我相信 Vim 大师会提供一种更优雅的方式,但如果你需要一些东西来帮助你渡过难关,那应该可以工作:)

于 2012-11-20T07:56:22.360 回答
1

那是“寄存器”,而不是“缓冲区”,:help registers.

这是我有一段~/.vimrc时间的映射:

vnoremap <leader>p "_dP

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

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

于 2012-11-20T08:28:58.983 回答