问题:对于通过M-x调用的输入命令,我很难理解Emacs如何允许调用和重新运行命令。命令历史与Vim完全不同。它将命令放在缓冲区而不是“迷你缓冲区”中。
有没有办法得到类似于Vim的方法(即,只需使用箭头上下键滚动以前输入的命令)?
答案 0 :(得分:14)
C-x ESC ESC
,C-x M-ESC
或C-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发行版中的桌面包