Gdy w trybie javascript próbujesz użyć C-c C-m i
, C-c RET
pojawia się komunikat o błędzie „ jest niezdefiniowany?”
Co sprawia, że Emacs uważa, że naciskam RET
?
Jak mogę właściwie włączyć to klawiszowanie?
Gdy w trybie javascript próbujesz użyć C-c C-m i
, C-c RET
pojawia się komunikat o błędzie „ jest niezdefiniowany?”
Co sprawia, że Emacs uważa, że naciskam RET
?
Jak mogę właściwie włączyć to klawiszowanie?
Odpowiedzi:
Emacs „myśli”, że C-m
to RET
dlatego, że „Control M” jest kontrola znaków ASCII „powrót karetki”. Chociaż ten powód jest „historyczny”, Emacs może działać w terminalu, dlatego musi obsługiwać sposób, w jaki terminale nadal działają.
Spróbuj otworzyć okno terminala, wpisując „ ls
” i naciskając C-m
. Przekonasz się, że to jest interpretowane jako „powrót”, nawet jeśli są nie w Emacsa.
Zobacz Kontrolę na Wikipedii, aby uzyskać szczegółowe informacje na temat kontrolnych postaci.
Aby odróżnić C-m
od RET
w GUI Emacs, można zmienić C-i
, aby C-m
w @nispio jest odpowiedź :
(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)
Zobacz też
Jak odróżnić Ci od TAB? , który jest bardzo ściśle powiązany.
Jak powiązać Ci jako inny niż TAB? a ta odpowiedź w szczególności.
C-m
mapę prefiksu dla wielu kursorów.