如何执行再次列出的命令
:history
Run Code Online (Sandbox Code Playgroud)
vim中的选项.有数字显示.是手动复制命令的唯一方法,然后重新输入吗?或者有类似shell脚本的东西.
:history 只有你在那里看它.
要重新执行上一个命令,您有两个选择:
在命令提示符下使用<Up>和<Down>:
:m10
(do stuff)
:<Up>
Run Code Online (Sandbox Code Playgroud)使用"命令行窗口":
您可以调用它q:并使用搜索导航并使用我们都喜欢的美丽的普通模式命令.
将光标定位在一条线上并点击<CR>以重新执行该命令.
编辑命令并单击<CR>以执行新命令.
您可以退出命令行窗口:q.
见:help cmdline-window.
如果 Vim 是用 +eval 编译的,你可以使用histget( {history} [, {index}])
:exe histget('c', 15)
Run Code Online (Sandbox Code Playgroud)
这输入起来不太方便,因此您还可以创建用户定义的命令:
:com -nargs=1 HI exe histget('c', <args>)
Run Code Online (Sandbox Code Playgroud)
此后,您可以使用 HI {index} 执行历史条目:
:HI 15
Run Code Online (Sandbox Code Playgroud)
我喜欢做的是在命令中输入前几个字符并按<UP>。例如,如果您想重复文件的编辑命令,file.txt您可以:
:e fil<UP><ENTER>
Run Code Online (Sandbox Code Playgroud)
如果第一个<UP>没有给你你想要的命令,一直按<UP>直到找到你要找的命令。