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


92

如何将一个寄存器的内容复制到另一个寄存器而不粘贴到剪贴板上?我拉了一个文本,并将其拉到了默认"寄存器中。现在,我想复制另一个文本而不删除/覆盖"寄存器。所以我想移动"寄存器的内容说一些ab注册,以便我可以在其中复制新文本"。这该怎么做?

Answers:


115

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

:let @a=@b

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

:let @a=@"

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


1
不知何故我无法使它正常工作。我对这款mcahine几乎没有什么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
@保罗,据我记得微小的Vim的功能集不支持的:let命令。
Christian C.Salvadó2014年

你能解释一下@吗?
Gqqnbig

@是将寄存器用作变量的方式。有关:help let-register详细信息,请参见。您基本上可以将其视为存储@a寄存器的变量a
cincodenada

7

您可以执行以下操作:

let @a = getreg('"')

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.