我发现有时我会写一个很长的 ex 模式命令来做很多事情。它们有点像我在文本编辑器中编写的“小脚本”,然后我启动 ex 模式并将它们复制到 ex 行中并执行。但我总是最终在 ex 模式下进行编辑,然后我发现很难将我在 ex 模式下所做的更改返回到我的文本编辑会话中。
使用键盘,如何复制您使用的最后一个 ex 命令并将其粘贴到文本编辑器中?
(注:这与这个问题正好相反“如何在 vim ex 模式下复制/粘贴“用户询问“如何从文本编辑器复制并粘贴到ex模式?”。我的问题正好相反,因为我希望从ex模式复制并粘贴到我的文本编辑器中。)
答案1
该:
寄存器包含您运行的最后一个 :-command(ex 命令),因此您只需键入该命令":p
(带双引号)即可将该寄存器粘贴到当前缓冲区中。请参阅:
:help registers
:help ":
请注意,这里有用于最后一次搜索的寄存器、当前缓冲区的名称等等。
答案2
尝试q:
命令。(这是两个字符,首先是 ,q
然后是:
。)这是一个正常模式命令,它将在特殊的 Vim 缓冲区中打开您的前命令历史记录。您可以查看历史记录,像往常一样提取任何您想要的内容,和/或编辑一行并按下<enter>
它来执行它。
答案3
我想补充@Heptite 的回答。如果只是将命令行复制到系统剪贴板(寄存器+
),只需输入:let @+ = @:
,假设您的 vim 支持+clipboard
该功能,根据@萨阿德马利克