在vim中组合寄存器

Posted

技术标签:

【中文标题】在vim中组合寄存器【英文标题】:Combining registers in vim 【发布时间】:2010-12-10 06:35:39 【问题描述】:

是否可以在 vim 中组合寄存器?例如,如果我有寄存器“a、”b、“c”,我可以轻松创建寄存器“d”,它是所有三个的串联吗?也就是说,无需将它们全部粘贴,然后选择整个内容。

【问题讨论】:

【参考方案1】:

使用命令:let @a = "something",您可以分配到一个寄存器。

使用命令:let @A = "another thing":let @a .= "another thing",您可以追加到寄存器。

假设您的寄存器填充如下(使用 reg 命令检查)

:reg a b c
--- Registers ---
"a Apple^J
"b Pear^J
"c Banana^J

然后就可以调用了

:let @D = @a
:let @D = @b
:ley @D = @c

:let @d = @a . @b . @c

你的寄存器 d 看起来像

:reg d
--- Registers ---
"d Apple^JPear^JBanana

【讨论】:

我发现:let @d .= @a:let @D = @a 更容易记住/输入,并且对于每个假定"d 首先为空的寄存器都这样做(当然可以确保,使用@987654331 @)。不过很好的解释。 确实看起来更容易。我实际上不知道.= 符号。【参考方案2】:
:let @d = @a . @b . @c

【讨论】:

以上是关于在vim中组合寄存器的主要内容,如果未能解决你的问题,请参考以下文章

在 Vim 中同时写入两个寄存器

谁自动写入 vim 寄存器?

vim 从嫌弃到依赖(15)——寄存器

vim中如何拷贝全文到win10的其他程序

在vim中,如何使用setreg将回车添加到寄存器中?

Vim:在寄存器中存储多个命令时如何处理换行符?