Emacs相当于Vim的命令历史记录(用于输入Meta-x命令)

时间:2008-12-21 00:09:44

标签: vim command-line emacs comparison history

问题:对于通过M-x调用的输入命令,我很难理解Emacs如何允许调用和重新运行命令。命令历史与Vim完全不同。它将命令放在缓冲区而不是“迷你缓冲区”中。

有没有办法得到类似于Vim的方法(即,只需使用箭头上下键滚动以前输入的命令)?

4 个答案:

答案 0 :(得分:14)

C-x ESC ESCC-x M-ESCC-x M-:会将您的历史记录放入迷你缓冲区中,之后您可以使用箭头键来回滚动。

M-x list-command-history将整个历史记录放在一个缓冲区中,您可以从中执行命令。

C-x z重复上一个命令。

查看EMACS手册(信息)部分8.5 Minibuffer History.

答案 1 :(得分:4)

M-p和M-n是GNU软件中的规范历史导航键。 Emacs也不例外;这几乎适用于任何可以输入内容的地方。

在扩展命令(“M-x命令”)的情况下,点击M-x,然后在整个历史记录中自由导航。您也可以使用C-r执行反向历史记录,如bash。

答案 2 :(得分:1)

致电

customize-group minibuffer

它会显示一个选项历史记录长度(此处默认为30)。如果您想在emacs会话中保存历史记录,请参阅

customize-group savehist

您可以使用普通箭头键向上 / 向下来浏览历史记录。

答案 3 :(得分:-1)

如果要在emacs会话之间保存命令历史记录(以及许多其他参数),可以使用包含在emacs发行版中的桌面包