Назначить раскладку для производного режима в Emacs - PullRequest
6 голосов
/ 07 февраля 2010

Как я могу назначить раскладку для производного режима в emacs (я использую функцию define-derived-mode). Есть функция derived-mode-set-keymap, но без примеров или хорошей документации.

1 Ответ

6 голосов
/ 07 февраля 2010

define-derived-mode сама создает карту ключей с именем MODE-map, где MODE - это имя карты ключей, которую вы только что определили. Я не уверен, что derive-mode-set-keymap делает то, что еще не сделано с define-derived-mode; глядя на источник, они делают схожие вещи, и я не уверен в очень низком уровне различий между этими двумя (например, define-derived-mode оставляет таблицу ключей родительского режима в качестве родителя новой карты ключей, тогда как ` -keymap также объединяет раскладки клавиш; в чем функциональная разница между ними?).

Если вы делаете следующее:

(define-derived-mode foobar-mode text-mode "foo")

Тогда будут определены следующие переменные:

  • foobar-mode-abbrev-table
  • foobar-mode-hook
  • foobar-mode-map
  • foobar-mode-syntax-table

Затем вы можете начать манипулировать любым из них по своему усмотрению.

...