कैसे RETURN से सेमी अंतर करने के लिए?


14

जब जावास्क्रिप्ट मोड में उपयोग करने की कोशिश कर C-c C-m iएक त्रुटि कह रही है " C-c RETअपरिभाषित है?"

Emacs क्या मानता है कि मैं दबा रहा हूं RET?

मैं इस कीबाइंडिंग को कैसे ठीक से बना सकता हूं?



1
समान समस्या, अलग प्रवेश बिंदु, मुझे लगता है कि अलग-अलग खोजों से आने वाले लोगों के लिए दोनों प्रश्नों को रखना अच्छा होगा।
जॉर्डन बायोनडो


जवाबों:


19

Emacs "सोचता है" C-mऐसा RETइसलिए है क्योंकि "Control M" ASCII कंट्रोल कैरेक्टर "कैरिज रिटर्न" है। भले ही यह कारण "ऐतिहासिक" है Emacs एक टर्मिनल में चल सकते हैं और इसलिए इसे अभी भी काम करने के तरीके को समर्थन देने की आवश्यकता है ।

टर्मिनल विंडो खोलने की कोशिश करें, " ls" टाइप करें , और दबाएं C-m। आप देखेंगे कि यह "वापसी" के रूप में व्याख्या की गई है, भले ही आप Emacs में न हों

नियंत्रण पात्रों के बारे में जानकारी के लिए विकिपीडिया पर नियंत्रण वर्ण देखें ।

भेद करने के लिए C-mसे RETएक जीयूआई Emacs में, एक को बदल सकता है C-iके लिए C-mमें @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)

यह सभी देखें


2
यह शानदार है, धन्यवाद। अब मेरे पास C-mकई-अभिशापों के लिए एक उपसर्ग मानचित्र के रूप में हो सकता है ।
John Wiegley
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.