web-dev-qa-db-fra.com

Emacs: imprimer la liaison de touches pour une commande ou répertorier toutes les liaisons de touches

Dans Emacs (GNU 23.2, * nix), comment puis-je:

  1. lister les séquences de touches liées à une commande particulière? Par exemple, comment répertorier toutes les séquences de touches qui exécutent save-buffers-kill-emacs, avec la sortie des séquences de touches qui lui sont liées? En supposant que nous pouvons le faire, en listant les séquences de touches liées à goto-line devrait imprimer la sortie: M-g g sur une installation par défaut.
  2. lister toutes les raccourcis clavier? Est-ce que C-h b faire ça? Imprimerait-il mes propres reliures?

Je suis conscient que l'exécution directe de la commande peut imprimer une séquence de touches avec laquelle elle peut être activée, mais elle ne le fait pas toujours, et plusieurs choses se produisent, notamment:
(1) la sortie ne reste pas longtemps, (2) la commande est exécutée.

Je veux une commande qui répertorie pour moi (de préférence toutes) les liaisons attachées à une commande donnée, sans exécuter la commande, ou quelque chose comme ça.

97
Yktula
  1. C-h f (ou M-x describe-function) vous montrera les liaisons pour une commande.

  2. Vous avez raison, C-h b (ou M-x describe-bindings) vous montrera toutes les liaisons. C-h m (M-x describe-mode) est également pratique pour répertorier les liaisons par mode.

Vous pourriez aussi essayer C-h k (M-x describe-key) pour montrer quelle commande est liée à une clé. Par exemple, sur ma machine save-buffers-kill-emacs n'est lié à rien, mais C-h k C-x C-c me dit que C-x C-c est lié à save-buffers-kill-terminal. Il répertorie toutes les liaisons de la commande en même temps.

133
Matt Curtis

Que diriez-vous juste

M-x where-is <COMMAND>

Vous obtenez les mêmes informations que vous obtiendriez avec C-h f.

Également lié à C-h w<f1> w et <help> w.

37
Trey Jackson