Wenn Sie im Javascript-Modus versuchen C-c C-m i
, eine Fehlermeldung zu erhalten, die besagt, dass " C-c RET
ist undefiniert?"
Was lässt Emacs glauben, dass ich dränge RET
?
Wie kann ich diese Tastenkombination richtig ausführen?
Wenn Sie im Javascript-Modus versuchen C-c C-m i
, eine Fehlermeldung zu erhalten, die besagt, dass " C-c RET
ist undefiniert?"
Was lässt Emacs glauben, dass ich dränge RET
?
Wie kann ich diese Tastenkombination richtig ausführen?
Antworten:
Emacs „denkt“ das C-m
ist , RET
weil „Control M“ die ASCII - Steuerzeichen „Wagenrücklauf“ ist. Obwohl dies ein "historischer" Grund ist, kann Emacs in einem Terminal ausgeführt werden und muss daher die Art und Weise unterstützen, in der Terminals noch funktionieren.
Versuchen Sie, ein Terminalfenster zu öffnen, geben Sie " ls
" ein und drücken Sie C-m
. Sie werden sehen, dass es als "return" interpretiert wird, obwohl Sie nicht in Emacs sind.
Weitere Informationen zu Steuerzeichen finden Sie unter Steuerzeichen in Wikipedia.
Zur Unterscheidung C-m
von RET
in einer GUI - Emacs, könnte man ändern , C-i
um C-m
in @nispio ‚s Antwort :
(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)
Siehe auch
Wie unterscheidet man Ci von TAB? , was sehr eng verwandt ist.
Wie binde ich Ci anders als TAB? und diese Antwort im Besonderen.
C-m
als Präfix eine Map für mehrere Cursor haben.