Emacs имя текущей локальной таблицы ключей?
Я пишу функцию elisp, которая постоянно связывает данный ключ с данной командой в таблице ключей текущего основного режима. Например,
(define-key python-mode-map [C-f1] 'python-describe-symbol)
Команда и последовательность клавиш собираются в интерактивном режиме от пользователя. Однако у меня возникают проблемы при создании имени KEYMAP (например, «python-mode-map»), которое соответствует текущему основному режиму.
Я пробовал функцию (current-local-map), но эта функция возвращает сам объект раскладки, а не его имя.
Я понимаю, что многие сопоставления основных режимов именуются в соответствии с соглашением 'major-mode-name'-mode-map ', однако это не всегда так (например, python-shell-map), поэтому я бы предпочел мой код не полагаться на это соглашение. (Я даже не уверен, как получить доступ к названию текущего основного режима).
(define-key ...)
должен быть добавлен в файл инициализации, поэтому, хотя
(define-key (current-local-map) key command)
кажется, работает, он не работает как код в файле инициализации.