Wie kann ich Cm von RETURN unterscheiden?


14

Wenn Sie im Javascript-Modus versuchen C-c C-m i, eine Fehlermeldung zu erhalten, die besagt, dass " C-c RETist undefiniert?"

Was lässt Emacs glauben, dass ich dränge RET?

Wie kann ich diese Tastenkombination richtig ausführen?


2
Mögliches Duplikat von " Strg + i" und "Tab
Drew" unterscheiden

1
Das gleiche Problem, ein anderer Einstiegspunkt, ich denke, es wäre schön, beide Fragen für Leute zu behalten, die aus unterschiedlichen Suchvorgängen stammen.
Jordon Biondo


Antworten:


19

Emacs „denkt“ das C-mist , RETweil „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-mvon RETin einer GUI - Emacs, könnte man ändern , C-ium C-min @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


2
Das ist großartig, danke. Jetzt kann ich C-mals Präfix eine Map für mehrere Cursor haben.
John Wiegley
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.