J'essaie d'exécuter Emacs dans un terminal. J'ai activé l '"option d'utilisation en tant que méta" dans les préférences du terminal et c'est donc environ 95% qui fonctionne correctement.
La séquence de touches ctrl- / (ou en notation Emacs C- /) est "annuler". Cette séquence de touches fait simplement sonner le terminal. Comment puis-je réparer ça?
Réponses:
Contrôle -
/
ne fait pas partie de l'ensemble des codes de contrôle standard . Il n'est pas directement représentable comme une frappe dans de nombreuses émulations de terminal. Une telle frappe n'est détectable correctement que dans certains «modes scancode» ou «mode GUI» spécifiques à la plate-forme (où l'API vous indique exactement quelles touches et quels modificateurs sont utilisés). Votre émulateur de terminal émet un bip, car il s'agit en fait d'une frappe non valide.Les codes de contrôle standard ne couvrent que les versions «Control» de
@
A
-Z
[\]^_
(ASCII 0 - 31), et?
(ASCII 127)Dans la plupart des programmes d'émulation de terminal fonctionnant avec la plupart des dispositions de touches américaines, vous devrez peut-être appuyer sur Shiftpour générer certains des «codes de contrôle»:
@
is Shift2)^
est Shift6)_
est Shift-)?
est Shift/); C-? est généralement généré par Backspace(sur les claviers Apple, la clé étiquetée simplement «supprimer» sans le symbole supplémentaire ⌦) ou Delete(celle avec ⌦ sur les claviers Apple).Dans Emacs basé sur tty, vous pouvez généralement utiliser C-_ pour
undo
au lieu de C- /.la source
Ctrl- / envoie 0x1f qui est équivalent à Ctrl-_ depuis l'époque de VT102. Il existe de nombreux émulateurs VT100 mais ce sont en fait des émulateurs VT102. iTerm2 fonctionne car il suit ce comportement.
Seuls les émulateurs strictement conformes à la spécification VT100 ne peuvent pas envoyer Ctrl- /. Je crois que l'application Terminal est l'un d'entre eux.
Le VT100 masque les 2 bits les plus significatifs de l'ASCII 7 bits lorsque la touche de commande est enfoncée. / est 0x2f, o est 0x6f. Lorsque les 2 bits sont masqués, ils sont tous les deux 0x0f. Le VT100 peut envoyer Ctrl-o mais pas Ctrl- /.
la source