如何从寄存器输入多行命令?

How to enter multiple lines of commands from a register?

如何从寄存器中执行多行 Vim Ex 命令?例如,如果我复制一些我想尝试的映射,我如何才能在当前缓冲区内从我将它们复制到的寄存器中执行这些行?

nnoremap <leader>b :tab split<cr>
nnoremap <buffer> ...
...

我试过使用 : 后跟 <ctrl-r>"(假设这些行在未命名的寄存器中)以命令行模式粘贴这些行,然后点击 <cr>。粘贴的行似乎由 ^M 分隔,而不是换行符。该方法不起作用。

我也尝试过使用 q: 打开命令行 window,然后是 <ctrl-r>",然后按回车,但这只会执行当前行,而不是比我粘贴的所有行都多。

我可以将这些行粘贴到一个文件中,然后获取该文件的源代码,但我正在寻找一种更直接的替代方法。

您可以使用 :@" 来 运行 默认寄存器的内容作为 Ex 命令。

参见:help :@