Comment attribuer une carte de touches à un mode dérivé dans emacs (j'utilise la fonction define-derived-mode
). Il existe une fonction derived-mode-set-keymap
mais sans exemples ou bonne documentation.Affectation d'une table de touches à un mode dérivé dans emacs
Répondre
define-derived-mode
crée lui-même une table de touches avec le nom MODE-map, où MODE est le nom de la table de touches que vous venez de définir. Je ne suis pas sûr de ce que fait derive-mode-set-keymap
ce n'est pas déjà fait avec define-derived-mode
; en regardant la source, ils font des choses similaires, et je ne suis pas sûr des différences de très bas niveau entre les deux (eg define-derived-mode
quitte la table de touches du mode parent comme parent de la nouvelle table de touches tandis que `derive-mode-set-keymap fusionne également les keymaps, quelle est la différence fonctionnelle entre les deux?).
Si vous effectuez les opérations suivantes:
(define-derived-mode foobar-mode text-mode "foo")
Les variables suivantes seront définies:
foobar-mode-abbrev-table
foobar-mode-hook
foobar-mode-map
foobar-mode-syntax-table
Vous pouvez ensuite commencer à manipuler l'un de ceux-ci comme vous le souhaitez.
Merci, cela a du sens. De plus, d'autres exemples de Lisp utilisant le mode defined-derived me font plus de sens maintenant. –