VIM:您如何获得上一次使用的ex命令?


10

我发现有时我会写一个很长的ex模式命令,该命令可以做很多事情。它们是我在文本编辑器中编写的“微型脚本”,然后启动ex模式并将其复制到ex行并执行。但是后来我总是最终以ex模式进行编辑,然后发现很难将在ex模式下所做的更改恢复到我的文本编辑会话中。

使用键盘,如何复制上次使用的ex命令并将其粘贴到文本编辑器中?

(注意:这与“ 我如何在vim ex模式下复制/粘贴 ”这个问题相反,用户问“如何从文本编辑器复制并粘贴到ex模式?”。我的问题是相反,因为我希望从ex模式复制并粘贴到文本编辑器中。)


我有一个kludge可以执行此操作...但是它需要鼠标选择... gvim下拉菜单进行复制...,如果ex行是两行,则粘贴的行会很烦人。(但更烦人的是,我正在使用鼠标和gui复制/粘贴...)。
Trevor Boyd Smith,

Answers:


16

:寄存器包含最后:-command(如命令),你跑了,所以你可以简单地键入命令":p(带双引号)到寄存器粘贴到当前的缓冲区。看到:

:help registers
:help ":

请注意,有用于最后搜索的寄存器,当前缓冲区的名称等。


17

尝试q:命令。(先输入两个字符,q然后输入2个字符:。)这是一个普通模式的命令,它将在特殊的Vim缓冲区中打开您的命令历史记录。您可以查看历史记录,一如既往地随意提取任何内容,和/或编辑一行并<enter>在其上按以执行它。


请注意不要打字:q,这是我的肌肉记忆试图强加给我的!
frabjous 2011年

7
q:从正常模式工作。如果您已经处于命令行(ex)模式,请按Ctrl-F打开该命令行窗口。
garyjohn

嗯.... Ctrl + F没什么,但是在我的前模式命令行中打印“ ^ F”。我想念一些魔术酱吗?
稳定狗17/09/14
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.