如何在Emacs中查看各种命令的历史记录

20

按下M-x键后输入的命令可以使用上箭头/下箭头键查看。

我该如何获取Emacs中所有命令的列表,包括菜单栏调用、使用鼠标点击触发的命令等?

4个回答

27

要查看完整的历史记录,请键入C-hl(小写字母“L”)。

注意:此列表是完整的,因为它保留了最近发生的所有事件和命令,但从某种意义上来说它并不完整,因为它只跟踪了大约最后300个事件(及相应的命令)。


他希望能够获取鼠标点击、菜单选择等操作,“等等”,使用 C-h l 命令可以查看这些。 - bos
1
标题很清楚:命令历史记录。事件历史记录不显示命令。 - event_jr
我也想看到由事件触发的命令。 - Talespin_Kit
@Tom:在旧版Emacs中,C-h l只显示事件,但现在已经改进为还显示响应这些事件触发的命令。 - Stefan

15

我曾使用 mwe-log-commands 来制作屏幕录像。它会显示你在 Emacs 中的操作事件及其触发的命令。


command-log-mode

屏幕截图

我刚刚将它分叉并改进成了一个适当的次要模式和全局次要模式,现在称为 command-log-mode。如果文档不清晰或您发现任何错误,请尝试使用它并向我报告问题。


2
我知道不应该写这种类型的评论,但我忍不住要说:感谢您成为开源精神的生动例证。 - kqr

2

所以您想要所有命令的历史记录,无论它们在哪里执行?我不知道emacs是否默认提供此功能,但是您可以添加自己的函数到post-command-hook中,该函数在每个命令之后执行,因此您可以使用它来收集所有已执行的命令。


0

M-x view-lossage

来自emacs文档

(view-lossage)

显示最近几个输入按键和运行的命令。为了方便起见,这使用与edit-last-kbd-macro相同的格式。请参阅lossage-size以更新记录的按键数。

要记录所有输入,请使用open-dribble-file

(open-dribble-file FILE)

开始将输入事件写入名为FILE的dribble文件。任何先前打开的dribble文件都将首先关闭。如果FILE为nil,则只需关闭dribble文件(如果有)。如果文件在Emacs退出时仍然打开,则会关闭该文件。

写入文件的事件包括键盘和鼠标输入事件,但不包括执行键盘宏的事件。事件立即写入dribble文件,而不进行行缓冲。

请注意,这将记录您键入的所有字符!这可能包括敏感信息,例如密码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接