VIM:如何获取最后使用的 ex 命令?

VIM:如何获取最后使用的 ex 命令?

我发现有时我会写一个很长的 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该功能,根据@萨阿德马利克

相关内容