De manière interactive l'obtention de la commande liée à un raccourci clavier (ou une séquence de touches dans Emacs), voir la réponse choisie.
Pour par programme l'obtention de la commande liée à une séquence de touches, utilisez la fonction key-binding
ou lookup-key
qui prend une séquence de touche et renvoie sa commande de limite. La fonction key-binding
est-ce que C-h k
utilise.
(key-binding (kbd "C-h m"))
renvoie la commande lié à l' C-h m
par la recherche dans tous les types de clavier. La fonction lookup-key
des recherches sur une keymap:
(lookup-key (current-global-map) (kbd "TAB")) ; => indent-for-tab-command
(lookup-key org-mode-map (kbd "TAB")) ; => org-cycle
(lookup-key text-mode-map (kbd "TAB")) ; => nil
(lookup-key isearch-mode-map (kbd "TAB")) ; => isearch-printing-char
Pour par programme l'obtention de toutes les séquences de touches lié à une commande donnée, where-is-internal
est probablement la fonction à utiliser. Le nom de la fonction en terminant par internal
semble suggérer que ce n'est pas pour les utilisateurs d'Emacs à utiliser dans leurs fichiers d'initialisation, mais cette fonction ayant une docstring semble indiquer le contraire. Toute personne qui envisage d'utiliser des where-is-internal
devriez d'abord vérifier si le remappage des touches , en revanche, peut atteindre leur objectif.