2

我想为编程模式添加一些常用设置。例如:打开口号,突出显示括号等。所以我添加代码如下:

(add-hook 'prog-mode-hook 'turn-on-watchwords)

这在 Emacs 24 中有效,但 Emacs 23 不起作用,我不知道是否缺少其他东西或 Emacs 23 本身使其不起作用。

如果 Emacs 23 不支持 prog-mode-hook,如何添加编程模式的常用设置?

4

2 回答 2

6

prog-mode(以及与之相关的所有钩子)是在 Emacs 24 中添加的。

您可以(稍微)通过将您的钩子添加到您通常使用的所有编程钩子来模拟它(诚然,这有点 hacky):

(mapc (lambda (mode-hook) (add-hook mode-hook 'turn-on-watchwords))
        '(c-mode-common-hook tcl-mode-hook emacs-lisp-mode-hook
          ruby-mode-hook java-mode-hook haskell-mode-hook
          ess-mode-hook python-mode-hook sh-mode-hook))
于 2012-04-28T01:17:03.233 回答
2

到目前为止,没有 Emacs,23 或 24prog-mode始终使用。Emacs 24 在 lisp/progmodes/*.el 中有 51/85 个包含“prog-mode”的文件,让您了解覆盖范围。也许在未来的版本中,您将能够prog-mode-hook随心所欲地使用。

无法为所有“编程”模式添加挂钩。@dbaupp 保留您使用的钩子列表的解决方案是可用的最佳解决方案。

于 2012-04-28T04:33:54.497 回答