2012-04-28 3 views
2

Я хочу добавить некоторые общие настройки для режимов программирования. такие как: включить лозунги, выделить круглые скобки и т. д. поэтому я добавить код следующим образом:Поддерживает ли Emacs 23 прог-режим-крюк?

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

Это работает в Emacs 24, но Emacs 23 не работает, я не знаю, если что-то еще отсутствует или Emacs 23 само по себе делает это не Работа.

Если Emacs 23 не поддерживает прог-режим-крючок, как я могу добавить общие настройки для режима программирования?

ответ

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)) 
+0

спасибо, что работает для меня. Но, похоже, это длинный список крючков, чтобы убедиться, что он охватывает большинство режимов программирования. – hbin

+0

@hbin, вам нужно только указать те, которые вы обычно используете, этот список указан выше в моем '.emacs', поэтому, если вы не используете Ruby или Haskell (например), вы можете удалить его из списка , (Кроме того, если это решает вашу проблему, нажмите на кнопку галочки рядом с ответом, чтобы отметить его как «принятый» :)) – huon

2

Нет Emacs до сих пор, 23 или 24 использует prog-mode последовательно. Emacs 24 имеет файлы 51/85, содержащие «prog-mode» в lisp/progmodes/*. El, чтобы дать вам представление о охвате. Возможно, в будущей версии вы сможете использовать prog-mode-hook, как хотите.

Невозможно добавить крючок во все «программирующие» режимы. Решение dbaupp по сохранению списка используемых вами крючков является лучшим решением.

Смежные вопросы