vim - 如何从寄存器中输入多行命令?
问题描述
如何从一个寄存器执行多行 Vim Ex 命令?例如,如果我复制一些我想尝试的映射,我如何在当前缓冲区中执行这些行,从我复制到的寄存器中?
nnoremap <leader>b :tab split<cr>
nnoremap <buffer> ...
...
我尝试使用:
后跟<ctrl-r>"
(假设这些行在未命名的寄存器中)以命令行模式粘贴这些行,然后点击<cr>
. 粘贴的行似乎由 分隔^M
,而不是换行符。该方法不起作用。
我也试过用q:
打开命令行窗口,然后按<ctrl-r>"
,然后按回车键,但这只会执行当前行,而不是我粘贴的所有行。
我可以将这些行粘贴到一个文件中,然后获取该文件,但我正在寻找一种替代的、更直接的方法。
解决方案
您可以使用:@"
Ex 命令来运行默认寄存器的内容。
见:help :@
。
推荐阅读
- macos - MacOS上的CMAKE交叉编译将MacOS SDK添加到flags.make中的-isysroot
- python - 在 Python 中旋转具有不同结果的第一个元素
- javascript - 将 JavaScript 变量存储在 PHP 变量中以将其用于源页面中的动态元描述
- ios - PrototypeCell 中的 UITextView 在两个 iPhone 模拟器中具有不同的行为
- windows - 坐标计算程序
- sql - 有没有办法在 postgresql 中使用qualify
- laravel - Laravel - 内部服务器错误和禁止访问
- c - C中的分段错误做一个并发服务器
- javascript - MIME 类型 ('text/html') 在 Chrome 中不是可执行错误
- c# - 如何在 Python 中将所有方法调用委托给 C# DLL