Comment puis-je rechercher de l'aide pour une séquence de touches que je ne peux pas taper


8

Je sais que je peux rechercher de l'aide pour une séquence de touches en utilisant C-h k <key sequence>, mais j'utilise Emacs dans le terminal, et mon émulateur de terminal ne transmet pas toutes les séquences de touches à Emacs. Parfois, je vois la notation d'une séquence de touches donnée écrite quelque part sans explication, et je veux rechercher ce qu'elle fait, mais je ne peux même pas la saisir. Existe-t-il un équivalent C-h koù je peux simplement taper la séquence de touches (comme littéralement C-<character>)?

Réponses:


15

Évaluez les éléments suivants à l'aide de eval-expression( M-:) ou dans un tampon de travail:

(describe-key (kbd "C-<whatever>"))

1
Soit dit en passant, vous pouvez trouver cette solution en utilisant C-h k C-h k. (Fonctionne dans mon terminal.)
Kevin

1
Génial. Il est en fait préférable d'utiliser M-: ou de l'évaluer dans votre tampon actuel, car le raccourci clavier peut être spécifique au mode.
asmeurer

9

Si vous ne pouvez pas utiliser une combinaison de touches particulière à cause de votre terminal, vous pouvez souvent la simuler en simulant manuellement le modificateur de touche. Les combinaisons suivantes fonctionnent exactement comme si vous aviez utilisé la touche de modification correspondante:

C-x @ a     alt
C-x @ m     meta
C-x @ c     control
C-x @ h     hyper
C-x @ s     super (lowercase s)
C-x @ S     shift (uppercase S)

Par exemple, si vous ne pouvez pas taper C-apour une raison quelconque, C-x @ c ac'est la même chose. Si S-<return>ne fonctionne pas sur votre terminal, le C-x @ S RETsera. Ces combinaisons de touches fonctionnent également avec le C-h kpréfixe d'aide.


Y a-t-il des cas où vous pouvez taper C-xmais pas C-a? Tous ces éléments nécessitent la capacité d'émettre C-x. Pouvoir utiliser des modificateurs "hyper" ou "super" sans clé dédiée semble être utile. J'ai rencontré un terminal qui n'a pas été configuré pour mapper la touche "alt" sur "meta", mais j'ai travaillé (à contrecœur) avec "ESC"
nispio

2
C-aest un mauvais exemple. Un plus probable serait C-A(ou C-S-a), car les terminaux ne semblent pas aimer control + shift.
asmeurer

Il me semble que sous screen(1), C-aest réquisitionné pour être une sorte de clé de multiplexage. Mais je n'ai pas utilisé screendepuis longtemps, donc je me souviens peut-être mal.
Sue D. Nymme

2

Vous pouvez également utiliser C-h bpour consulter toutes les liaisons de touches, qui comprendront les boutons de la souris et tout le reste.


Une fois la describe-bindingsfenêtre d'aide affichée, vous pouvez également utiliser isearchpour rechercher la représentation en texte brut d'une séquence de touches et la fonction à laquelle elle est liée. De plus, le package helm-descbindingsvous permettra de parcourir toutes les liaisons dans un tampon de barre.
nispio

0

Je n'étais au courant d'aucune de ces solutions plus spécifiques, et elles fonctionnent probablement mieux si vous voulez la commande exacte qui est exécutée par une clé.

Cependant, pour un conseil plus général sur la recherche d'aide, si vous avez en fait une sorte d'idée vague sur ce que fait la liaison de touches, mais que vous souhaitez plus de détails, j'ai utilisé C-h f(ou describe-function) avec la tabulation pour essayer de trouver le nom de la fonction, qui fonctionne souvent, puis l'aide vous indiquera si cette fonction a une liaison. Et lorsque cela n'a pas fonctionné, j'ai utilisé C-h a(ou apropos-command) et tapé certains termes que je pensais être liés et, étonnamment, j'ai eu beaucoup de succès à trouver la bonne commande pour la liaison de clé. Une autre bonne option est C-h m(ou describe-mode) et regardez toutes les liaisons de touches pour le mode actuel. Cela peut également être utilisé comme termes utiles à utiliser pour l'une ou les deux techniques de recherche précédentes.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.