Emacs相当于Vim';s命令历史记录(用于键入的Meta-x命令)

Emacs相当于Vim';s命令历史记录(用于键入的Meta-x命令),vim,command-line,emacs,comparison,history,Vim,Command Line,Emacs,Comparison,History,问题:对于通过M-x调用的键入命令,我很难理解Emacs如何允许调用和重新运行命令。命令历史与Vim的工作方式完全不同。它将命令放入缓冲区,而不是“迷你缓冲区” 有没有一种方法可以获得类似于Vim的方法(即,只需使用上下箭头键即可滚动先前键入的命令)?调用 customize-group minibuffer 它将显示一个选项历史长度(这里默认为30)。如果要跨emacs会话保存历史记录,请参阅 customize-group savehist 您可以使用向上的普通箭头键/向下浏览历史记录

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

有没有一种方法可以获得类似于Vim的方法(即,只需使用上下箭头键即可滚动先前键入的命令)?

调用

customize-group minibuffer
它将显示一个选项历史长度(这里默认为30)。如果要跨emacs会话保存历史记录,请参阅

customize-group savehist

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

C-x ESC
C-x M-ESC
C-x M-:
将您的历史记录放入迷你缓冲区,然后您可以使用箭头键按需前后滚动

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

C-x z
重复最后一个命令


查看EMACS手册(信息)部分

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

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


对于扩展命令(“M-x命令”),点击M-x,然后在整个历史中自由导航。您还可以使用C-r进行反向历史isearch,就像在bash中一样。

我不确定您有什么emacs。但是我的emacs和我的一样(OSX上的Aquamacs)。在M-x之后,上下键工作。有人能告诉我如何判断下一票吗?更改历史记录长度会直接影响滚动浏览,不是吗?我很乐意纠正所有错误。