如何保持我的缓冲区时,复制,剪切,然后粘贴一个词与Vim?

vd8tlhqk  于 2023-01-09  发布在  其他
关注(0)|答案(4)|浏览(137)

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

Platea, integer nisi velit!

我想将其转换为:

Platea, integer nisi integer!

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

x9ybnkn6

x9ybnkn61#

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

  • 拉伸integer(偏航)
  • 目视选择velit(可见)
  • 糊剂(p)

也可以尝试YangRing.vim插件。

c90pui9n

c90pui9n2#

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

"xyiw

它将integer拉入x寄存器(任意字母),然后在删除velit之后,您可以使用"xp进行粘贴。您也可以在多个寄存器中使用此功能,所以如果您需要使用相同的单词以不同的组合进行各种复制/粘贴,它可能会很有用。我相信VimMaven会提供更优雅的方法,但如果你需要一些东西来度过难关,那应该会起作用:)

cbjzeqam

cbjzeqam3#

这是"寄存器",不是"缓冲器",:help registers
下面是我在~/.vimrc中使用了一段时间的Map:

vnoremap <leader>p "_dP

它删除选定的文本到"黑洞"寄存器,并把未命名寄存器的内容。
另一种选择是使用寄存器0:"0p.

mkshixfv

mkshixfv4#

如果你把这个加到你的vimrc里

xnoremap p "_dP

这将导致粘贴在视觉模式删除到黑洞寄存器,这将防止clobbing您的猛拉内容,您希望粘贴多次。

相关问题