Emacs:在命令上定义自定义挂钩

Tro*_*ong 3 emacs hook

有没有办法挂钩命令A,以便在A执行后总是调用B?

Tre*_*son 10

我认为最直接的方法是通过使用建议.你会做的事情是这样的:

(defadvice command-A (after b-after-a activate)
  "Call command-B after command-A"
  (command-B))
Run Code Online (Sandbox Code Playgroud)

这种方法的优点是即使在重新定义command-A时它也能工作.但是,它不适用于从C代码调用的宏或基本函数.但是,在实践中,建议这些功能的想法很少见.

也就是说,可能值得考虑定义一个command-C先调用command-A然后再调用的新命令()command-B.

您还可以使用符号函数间接和编写新命令.

这取决于你想要解决的问题.