Emacs "berpikir" bahwa C-m
adalah RET
karena "Control M" adalah ASCII kontrol karakter "carriage return". Meskipun alasan ini adalah "historis" Emacs dapat berjalan di terminal dan karenanya perlu mendukung cara terminal masih bekerja sekarang.
Coba buka jendela terminal, ketikkan " ls
", dan tekan C-m
. Anda akan melihat bahwa itu ditafsirkan sebagai "kembali", meskipun Anda tidak di Emacs.
Lihat Karakter kontrol di Wikipedia untuk detail tentang karakter kontrol.
Untuk membedakan C-m
dari RET
dalam GUI Emacs, orang dapat mengubah C-i
ke C-m
dalam jawaban @nispio :
(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)
Lihat juga