如何从 vim 命令行插入命名寄存器

如何从 vim 命令行插入命名寄存器

使用vim命令行模式插入特定寄存器的值时遇到一些麻烦。

在模式下,我可以输入将寄存器的值放在当前行下方的normal序列。"*p"*

"*put如果我尝试在命令行上输入命令,则什么也不会发生。另一方面,如果我只是发出命令,put则会放置未命名寄存器的值。

所以问题是,如何使用命令行模式放置命名寄存器的内容?

编辑#1

经过一些额外的测试,我找到了一个解决方法:

qz1"cpq首先使用where捕获序列中的粘贴寄存器

qz  -> start recording into register z
1   -> goto line 1
"cp -> put content of register c
q   -> end recording

使用:@z宏可以运行来执行所需的步骤。与以下组合使用时bufdo

:bufdo execute "normal @z"

该寄存器可以作为新行添加到所有打开的缓冲区中。

虽然这是一种工作方法,但我相信有一种更有效的方法可以在不需要宏的情况下执行相同的操作。

答案1

您可以使用以下命令行版本来完成此操作put

:put z

完整的语法是:[line]pu[t] [x].请参阅:help :put了解更多信息。

旁注:Vim 极客的巢穴是这边走

相关内容