从一个寄存器复制到另一个寄存器

116

如何将一个寄存器的内容复制到另一个寄存器而不使用剪贴板?我已经复制了一段文本,并且它被放在默认的"寄存器中。现在我想复制另一段文本,而不删除/覆盖"寄存器。因此,我想将"寄存器的内容移动到另外一个寄存器(比如说ab寄存器),这样我就可以将新的文本复制到"寄存器中。怎样做呢?

2个回答

150

要在寄存器之间复制或交换值,您可以使用 :let 命令,例如将 b 寄存器的内容复制到 a

:let @a=@b

或者将寄存器"的内容复制到a中:

:let @a=@"

查看这个 Vim 技巧,获取一些好的按键映射建议:


1
我无论如何都无法让它工作。我的机器上有一个相当简化的vim。以下是我的一些设置。VIM - Vi IMproved 7.0(2006年5月7日,编译于2011年3月5日21:36:07)包括补丁:1、3-4、7-9、11、13-17、19-26、29-31、34-44、47、50-56、58-64、66-73、75、77-92、94-107、109、202、34-237 由bugzilla@redhat.com编译 没有GUI的微型版本。 - Paul
1
@Paul,据我所记,Vim的smalltiny功能集不支持:let命令。 - Christian C. Salvadó
你能解释一下 @ 的作用吗? - Gqqnbig
1
@ 是一种将寄存器作为变量使用的方法。有关详细信息,请参阅 :help let-register。您基本上可以将 @a 视为存储寄存器 a 的变量。 - cincodenada

10

你可以像这样做:

let @a = getreg('"')

这将会把寄存器"的值复制到寄存器a中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接