Emacs:在命令上定义自定义钩子(Hook)

标签 emacs hook

有没有办法 Hook 命令 A,以便在 A 执行后始终调用 B?

最佳答案

我认为最直接的方法是通过使用 advice .
你会做一些类似的事情:

(defadvice command-A (after b-after-a activate)
  "Call command-B after command-A"
  (command-B))

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

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

你也可以玩symbol function indirection并编写一个新命令。

这有点取决于您要解决的问题。

关于Emacs:在命令上定义自定义钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14142173/

相关文章:

emacs - 如何从组织模式表的列中导出以逗号分隔的值列表

windows - 如何 Hook Windows 中的本地帐户创建?

php - 错误调用成员函数 get_results()

svn - 如何编写一个svn钩子(Hook)脚本

emacs - 更改 Emacs 中的文本外观 : overlays work, 文本属性不会

windows - git commit 以 emacs 作为 Windows 下的编辑器

node.js - 从 javascript 钩子(Hook)获取 cordova 包名称

Mercurial Repository - 服务器上的自动每日 hg add/hg commit 命令

macos - 如何确保 emacs 始终将编辑/创建的纯文本保存为 utf8?

emacs lisp 和 c 模式 : when am I in a comment region