我想为编程模式添加一些常用设置。例如:打开关键词,突出显示括号等。 所以我添加代码如下:Emacs 23是否支持prog-mode-hook?
(add-hook 'prog-mode-hook 'turn-on-watchwords)
这工作在Emacs 24,但Emacs的23不工作,我不知道,如果是别的东西丢失或Emacs 23本身就是这不工作。
如果Emacs 23不支持prog-mode-hook,如何添加编程模式的通用设置?
我想为编程模式添加一些常用设置。例如:打开关键词,突出显示括号等。 所以我添加代码如下: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
您可以只需添加你的钩子全部通常使用的编程钩(诚然,这是一个模拟它(略)有点哈克):
(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层或24的用途prog-mode
一致。 Emacs 24在lisp/progmodes/*。el中有51/85个包含“prog-mode”的文件,可以让您了解覆盖范围。也许在未来的版本中,您可以使用prog-mode-hook
。
无法为所有“编程”模式添加挂钩。保持您使用的钩子列表的@ dbaupp解决方案是可用的最佳解决方案。
谢谢,这对我很有用。但它似乎是一个很长的钩子列表,以确保覆盖大多数编程模式。 – hbin 2012-04-28 02:33:57
@hbin,你只需要列出你通常使用的那个,上面的列表是我的'.emacs'中的那个,所以如果你不使用Ruby或Haskell(例如),你可以从列表中删除它。 (另外,如果这解决了您的问题,请点击答案旁边的复选标记大纲以将其标记为“已接受”:)) – huon 2012-04-28 02:38:20