Si je connais un nom de commande emacs, dit, "goto-line"; Que faire si je veux demander s'il existe des séquences de touches liées à cette commande?
Et vice versa, étant donné une séquence de touches, comment puis-je trouver son nom de commande?
Pour trouver simplement les raccourcis clavier pour une commande, vous pouvez utiliser la fonction "où est" de l'aide emacs
C-h w command-name
Si plusieurs liaisons sont définies pour la commande, elles seront toutes répertoriées.
Pour l'inverse, étant donné une séquence de touches, vous pouvez taper
C-h k key-sequence
Pour obtenir la commande qui s'exécuterait.
Vous pouvez obtenir des informations détaillées sur une commande, ainsi que sur toute fonction non interactive définie, en tapant
C-h f function-name
Qui vous donnera des informations détaillées sur une fonction, y compris les raccourcis clavier correspondants, et
C-h v variable-name
vous donnera des informations sur toute variable (liée). Les key-maps sont conservés dans des variables, mais les codes clés sont stockés dans un format brut. Essayez C-h v isearch-mode-map
un exemple.
Pour obtenir de l'aide supplémentaire, vous pouvez taper
C-h ?
C-h w <function name>
pour savoir exactement où se trouve la clé, pas la documentation complète. Inversement, vous pouvez égalementC-h c <key sequence>
savoir quelle fonction est liée à une séquence de touches.C-h
à autre chose dans leurs gestionnaires de fenêtres:C-h w
équivaut àM-x where-is
.C-h k
équivaut àM-x describe-key
.C-h f
équivaut àM-x describe-function
.C-h v
équivaut àM-x describe-variable
.C-h ?
équivaut àM-x help-for-help
. Notez également quef1
peut être utilisé à la place deC-h
.C-h w
(ouF1-w
):where-is
RET somecommandname RETFait exactement ce que vous demandez - répertorie les clés liées sans informations supplémentaires. :)
la source
Pour obtenir de manière interactive la commande liée à un raccourci clavier (ou à une séquence de touches en termes Emacs), consultez la réponse sélectionnée.
Pour obtenir par programme la commande liée à une séquence de touches donnée, utilisez la fonction
key-binding
oulookup-key
qui prend une séquence de touches et renvoie sa commande liée. La fonctionkey-binding
est ce quiC-h k
utilise.renvoie la commande liée
C-h m
en recherchant dans tous les keymaps actuels. La fonctionlookup-key
recherche dans un seul keymap:Pour obtenir par programme toutes les séquences de touches liées à une commande donnée,
where-is-internal
est probablement la fonction à utiliser. Le nom de la fonction se terminant parinternal
semble suggérer que ce n'est pas aux utilisateurs d'Emacs de l'utiliser dans leurs fichiers init, mais cette fonction ayant une docstring semble suggérer le contraire. Quiconque envisage d'utiliserwhere-is-internal
doit d'abord vérifier si le remappage des clés peut à la place atteindre son objectif.Une alternative pour trouver les touches qui sont liées à une commande spécifique (par exemple,
forward-char
) estsubstitute-command-keys
(par exemple,(substitute-command-keys "\\[forward-char]")
). Cela est particulièrement utile dans les textes plus volumineux.la source
where-is-internal
suggère que vous pouvez l'utiliser. Aussi, nous utilisons classiquement un format commewhere-is--internal
(notez le double tiret) pour les fonctions «privées».-internal
est décrite: gnu.org/software/emacs/manual/html_node/elisp/… . Il doit être utilisé pour les fonctions C internes.Une vieille question, mais pour le bénéfice des nouveaux lecteurs, il existe d'autres façons intéressantes de voir les raccourcis clavier
M-x describe-bindings
Répertorie toutes les liaisons actuellement disponibles, utilisez isearch, occur, etc. pour faire bon usage de cette liste.
M-x describe-prefix-map
Cela montre toutes les liaisons disponibles dans le mode actuel, vous pouvez utiliser le tampon d'affichage comme vous le feriez pour n'importe quel autre tampon Emacs en lecture seule, par exemple, vous pouvez rechercher librement des chaînes, etc.
M-x describe-mode
En plus de vous donner des informations générales sur le mode actuel, il listera également toutes les raccourcis clavier disponibles.
M-x describe-minor-mode
Vous serez invité à entrer le nom d'un mode mineur, puis à afficher les informations et les raccourcis clavier pour ce mode mineur.
REMARQUE : les exemples ci-dessous utilisent des packages supplémentaires (disponibles auprès de MELPA )
Quelle clé
Cela vous montre les liaisons juste avant d'en avoir besoin. Entrez un préfixe, par exemple
C-x
ouC-c
et une liste des liaisons disponibles dans ce préfixe s'affichera.Vous pouvez également afficher une liste des raccourcis clavier disponibles dans le mode actuel en utilisant:
M-x which-key-show-top-level
Il est utile de se lier
which-key-show-top-level
à un accord clé de votre choix, afin que vous puissiez voir les clés disponibles de n'importe où.Par exemple,
C-s
(isearch-forward
) a une carte de clés étendue qui est souvent inconnue. par exemple,M-s o
commence àoccur
utiliser la chaîne de recherche actuelle, je ne savais pas à ce sujet depuis de nombreuses années d'utilisation d'Emacs. Avoirwhich-key
autour de moi m'a aidé à découvrir de nombreux joyaux rares à Emacs.https://github.com/justbur/emacs-which-key
Clé de guidage
La clé de guide fonctionne à peu près de la même manière que
which-key
je recommanderais de l'examiner pour comparer les fonctionnalités.https://github.com/kai2nenobu/guide-key
la source