我想为编程模式添加一些常用设置。例如:打开口号,突出显示括号等。所以我添加代码如下:
(add-hook 'prog-mode-hook 'turn-on-watchwords)
这在 Emacs 24 中有效,但 Emacs 23 不起作用,我不知道是否缺少其他东西或 Emacs 23 本身使其不起作用。
如果 Emacs 23 不支持 prog-mode-hook,如何添加编程模式的常用设置?
我想为编程模式添加一些常用设置。例如:打开口号,突出显示括号等。所以我添加代码如下:
(add-hook 'prog-mode-hook 'turn-on-watchwords)
这在 Emacs 24 中有效,但 Emacs 23 不起作用,我不知道是否缺少其他东西或 Emacs 23 本身使其不起作用。
如果 Emacs 23 不支持 prog-mode-hook,如何添加编程模式的常用设置?
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))
到目前为止,没有 Emacs,23 或 24prog-mode
始终使用。Emacs 24 在 lisp/progmodes/*.el 中有 51/85 个包含“prog-mode”的文件,让您了解覆盖范围。也许在未来的版本中,您将能够prog-mode-hook
随心所欲地使用。
无法为所有“编程”模式添加挂钩。@dbaupp 保留您使用的钩子列表的解决方案是可用的最佳解决方案。