Réponses:
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 également C-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 que f1
peut être utilisé à la place de C-h
.
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
ou lookup-key
qui prend une séquence de touches et renvoie sa commande liée. La fonction key-binding
est ce qui C-h k
utilise.
(key-binding (kbd "C-h m"))
renvoie la commande liée C-h m
en recherchant dans tous les keymaps actuels. La fonction lookup-key
recherche dans un seul 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 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 par internal
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'utiliser where-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
) est substitute-command-keys
(par exemple, (substitute-command-keys "\\[forward-char]")
). Cela est particulièrement utile dans les textes plus volumineux.
where-is-internal
suggère que vous pouvez l'utiliser. Aussi, nous utilisons classiquement un format comme where-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 )
Cela vous montre les liaisons juste avant d'en avoir besoin. Entrez un préfixe, par exemple C-x
ou C-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. Avoir which-key
autour de moi m'a aidé à découvrir de nombreux joyaux rares à Emacs.
https://github.com/justbur/emacs-which-key
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.