问题:对于通过 Mx 调用的输入命令,我很难理解 Emacs 如何允许调用和重新运行命令。命令历史的工作方式与 Vim 完全不同。它将命令放在缓冲区而不是“迷你缓冲区”中。
有没有办法获得类似于 Vim 的方法(即,以前键入的命令可以简单地使用上下箭头键滚动)?
问题:对于通过 Mx 调用的输入命令,我很难理解 Emacs 如何允许调用和重新运行命令。命令历史的工作方式与 Vim 完全不同。它将命令放在缓冲区而不是“迷你缓冲区”中。
有没有办法获得类似于 Vim 的方法(即,以前键入的命令可以简单地使用上下箭头键滚动)?
C-x ESC ESC
, C-x M-ESC
, 或C-x M-:
将您的历史记录放在小缓冲区中,之后您可以使用箭头键来回滚动。
M-x list-command-history
将整个历史记录放在一个缓冲区中,您可以从中执行命令。
C-x z
重复上一个命令。
查看 EMACS 手册(信息)第8.5 节 Minibuffer History。
Mp 和 Mn 是 GNU 软件中的规范历史导航键。Emacs 也不例外;这几乎适用于您可以输入内容的任何地方。
对于扩展命令(“Mx 命令”),点击 Mx,然后在整个历史记录中自由导航。您还可以使用 Cr 进行反向历史 isearch,如在 bash 中。
称呼
customize-group minibuffer
它将显示一个选项历史长度(此处默认为 30)。如果要跨 emacs 会话保存历史记录,请参阅
customize-group savehist
您可以使用普通箭头键浏览历史记录。up /
down