Emacs 23是否支持prog-mode-hook?

时间:2012-04-28 00:03:52

标签: emacs

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

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

这适用于Emacs 24,但是Emacs 23不起作用,我不知道是否还有其它东西缺失或者Emacs 23本身使它不起作用。

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

2 个答案:

答案 0 :(得分: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))

答案 1 :(得分:2)

到目前为止没有Emacs,23或24始终使用prog-mode。 Emacs 24在lisp / progmodes / * .el中包含51/85个包含“prog-mode”的文件,以便您了解覆盖范围。也许在将来的版本中,您可以按照自己的意愿使用prog-mode-hook

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