7

如何再次执行列表中列出的命令

:history

vim 中的选项。有数字显示。是不是只能手动复制命令,然后重新输入?或者在shell脚本中有类似的东西。

4

4 回答 4

9

q:在正常模式下使用快捷方式打开交互式命令历史记录窗口。您只需移动到正确的命令并按 执行它Enter您可以在此处找到更多信息和其他访问历史记录的方法。

于 2013-08-26T10:27:58.367 回答
9

:history只是为了让你看看。

要重新执行之前的命令,您有两种选择:

  • 在命令提示符下使用<Up>和:<Down>

    :m10
    (do stuff)
    :<Up>
    
  • 使用“命令行窗口”:

    您可以使用搜索来调用它q:并进行导航,并使用我们都喜欢的漂亮的正常模式命令。

    将光标定位在一行上并点击<CR>以重新执行命令。

    编辑命令并点击<CR>以执行新命令。

    您可以使用 退出命令行窗口:q

    :help cmdline-window

于 2013-08-26T10:38:42.790 回答
5

我喜欢做的是输入命令中的前几个字符,然后按<UP>。例如,如果您想重复文件的编辑命令,file.txt您可以:

:e fil<UP><ENTER>

如果第一个<UP>没有给您想要的命令,请继续按<UP>直到找到您要查找的命令。

于 2013-08-26T12:34:27.320 回答
2

如果 Vim 是用 +eval 编译的,你可以使用histget( {history} [, {index}])

:exe histget('c', 15)

这不是很方便键入,因此您还可以创建一个用户定义的命令:

:com -nargs=1 HI exe histget('c', <args>)

此后,您可以使用 HI {index} 执行历史条目:

:HI 15
于 2016-09-26T16:34:06.837 回答