Lorsque vous essayez d'utiliser en mode javascript, C-c C-m iobtenez une erreur indiquant " C-c RETn'est pas défini?"
Qu'est-ce qui fait croire à Emacs que j'insiste RET?
Comment puis-je correctement faire fonctionner ce raccourci clavier?
Lorsque vous essayez d'utiliser en mode javascript, C-c C-m iobtenez une erreur indiquant " C-c RETn'est pas défini?"
Qu'est-ce qui fait croire à Emacs que j'insiste RET?
Comment puis-je correctement faire fonctionner ce raccourci clavier?
Réponses:
Emacs "pense" que C-mc'est RETparce que "Control M" est le caractère de contrôle ASCII "retour chariot". Même si cette raison est "historique", Emacs peut fonctionner dans un terminal et doit donc prendre en charge la façon dont les terminaux fonctionnent toujours .
Essayez d'ouvrir une fenêtre de terminal, de taper " ls" et d'appuyer sur C-m. Vous verrez qu'il est interprété comme "retour", même si vous n'êtes pas dans Emacs.
Voir Caractère de contrôle sur Wikipedia pour plus de détails sur les caractères de contrôle.
Pour distinguer C-mde RETdans une interface graphique Emacs, on pourrait changer C-ipour C-men @nispio « s réponse :
(define-key input-decode-map [?\C-m] [C-m])
;; now we can do this:
(defun my-command ()
  (interactive)
  (message "C-m is not the same as RET any more!"))
(global-set-key (kbd "<C-m>") #'my-command)Voir également
Comment distinguer Ci de TAB? , qui est très étroitement lié.
Comment lier Ci comme différent de TAB? et cette réponse en particulier.
C-mune carte de préfixe pour plusieurs curseurs.