Когда в режиме javascript пытается использовать, C-c C-m i
получить сообщение об ошибке " C-c RET
не определено?"
Что заставляет Emacs верить, что я настаиваю RET
?
Как я могу правильно сделать эту работу клавиш?
Когда в режиме javascript пытается использовать, C-c C-m i
получить сообщение об ошибке " C-c RET
не определено?"
Что заставляет Emacs верить, что я настаиваю RET
?
Как я могу правильно сделать эту работу клавиш?
Ответы:
Emacs «думает» , что C-m
это RET
потому , что «Control M» является управляющим символом ASCII «возврат каретки». Несмотря на то, что эта причина «историческая», Emacs может работать в терминале, и поэтому он должен поддерживать работу терминалов по- прежнему .
Попробуйте открыть окно терминала, набрав " ls
" и нажав C-m
. Вы увидите, что это интерпретируется как «возврат», даже если вы не в Emacs.
См. Контрольный символ в Википедии для получения подробной информации о контрольных символах.
Для того, чтобы отличить C-m
от RET
в GUI Emacs, можно было бы изменить , C-i
чтобы C-m
в @nispio «s ответ :
(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)
Смотрите также
Как отличить Ci от TAB? , что очень тесно связано.
Как связать Ci в отличие от TAB? и этот ответ в частности.
C-m
в качестве префикса карту для нескольких курсоров.