小智 63
点击冒号(:)然后使用向上箭头开始返回之前的命令.您也可以使用向上/向下箭头在列表中移动.
Sus*_*hil 46
q:将在Vim中显示命令历史记录.
q/将显示搜索历史
Run*_*olt 11
最后一个命令的文本存储在.寄存器中.你可以看到所有的寄存器:display.不幸的是,它没有说出正常命令启动了什么.
要查看来自:(命令模式)的命令,您可以使用:hist或q:限制为最后20个命令(默认情况下).
另一种能力是保存撤消缓冲区:wundo undo.bin- 但撤消缓冲区是二进制的.
但这些都没有真正回答你的问题.我很好奇是否可以做到.
很难知道它.你可以玩变量:
v:operator
v:count (and v:prevcount)
v:register
Run Code Online (Sandbox Code Playgroud)
但是你无法完全获得最后发出的普通模式命令.
但是,如果要系统地记录在Vim中键入的所有内容,则可以启动vim -W ~/.vim-last-scriptout(Windows版本:).您可以vim -W "%HOMEPATH%\Vim\.last-scriptout在UNIX计算机上的shell中对其进行别名.每个键或控制键都将记录到该文件中.请注意,如果您碰巧使用gvim或vim -g(GUI),您可能会遇到此错误.
如果要重播此文件,可以使用:source!(带有感叹号)或-s命令行中的选项.
在Windows上,我gvimportable.exe -W gvim_directory\last_scriptout在我的Commander程序(FreeCommander)中设置了默认编辑器.通过这种方式,我可以永远记住我输入的内容并在另一个文件上重复执行一系列命令.当然我还有另一个打开Vim和播放脚本的快捷方式.
请注意,该文件可能仅在Vim退出时写入,因此您必须丢失会话以了解您已完成的操作.