我正在使用 emacs,但自动换行功能没有按预期工作。我对我的 emacs 进行了大量的自定义。因此,难怪其他自定义之一不是 auto-line 所期望的。我想知道是否有办法知道 emacs 在特定点执行的命令列表(emacs 命令列表),例如当 ctrl-s ctrl-c 或在我的情况下调用自动行功能时.
编辑:我认为你误解了这个问题。我想知道emacs在“内部”调用什么命令。
我相信view-lossage
这是您正在寻找的 -M-x view-lossage
或C-h l
。
如果您想知道按键绑定到什么,请考虑使用describe-key
通常绑定到 的C-h k
。
基本上到了这一步,你就需要硬着头皮学习一些 Emacs-lisp 了。调试器是您要进一步挖掘问题的工具(我使用edebug
)。这不仅仅是查看调用了哪些函数,还需要查看调用这些函数时相关变量的值。
如果你觉得你做不到,那么你可以对你的 init 文件进行二分法,直到找到罪魁祸首,但此时你仍然需要一些 Emacs-lisp 来进一步调查。
补充一下@event_jr 所说的——
您似乎要问的是您上次调用的命令调用的函数的历史记录。(您说的是 Emacs “内部命令”,但您似乎只是指函数。)
要获取您调用的任何给定命令的历史记录(例如,通过键),请使用M-x debug-on-entry
然后输入命令名称。下次您使用该命令时,您可以在 Emacs 调试器中遍历它的执行过程(点击d
到步骤,c
继续经过一个步骤)。