क्या कीबोर्ड बाइंडिंग को परिभाषित करने के लिए कोई मानक / अनुशंसित सिंटैक्स है?


10

मैंने कीबोर्ड बंधन को परिभाषित करने के लिए निम्नलिखित सभी को देखा है। ये सभी काम (कम से कम एमएस विंडोज पर)। मुझे नहीं पता कि क्या ऐसा ही करने का एक और तरीका है।
मैं सोच रहा हूं कि क्या कीबोर्ड बंधन को परिभाषित करने के लिए एक मानक या अनुशंसित तरीका है और यदि इनमें से कुछ से बचने के लिए सिफारिश की गई है।

(global-set-key "\M-r" 'some-command)
(global-set-key [(meta r)] 'some-command)
(global-set-key [?\M-r] 'some-command)
(global-set-key (kbd "M-r") 'some-command)

1
मुझे संदेह है कि एक अनुशंसित वाक्यविन्यास है, लेकिन मुझे व्यक्तिगत रूप से उस (global-set-key (kbd "M-r") 'some-command)विधि की तरह पसंद है जिसमें स्थिरता शामिल हो सकती है जिसमें प्रमुख संयोजनों को परिभाषित किया जा सकता है .. आपको याद नहीं करना चाहिए कि कब या कब सामान से बचना है।
कौशल मोदी

जवाबों:


6

कोई एकल मानक तरीका नहीं है, क्योंकि अलग-अलग उपयोग के मामले हैं।

यदि आप उदाहरण के लिए, अपनी init फ़ाइल में मैन्युअल रूप से ऐसा कोड लिख रहे हैं, तो आप (kbd ...)प्रारूप को पसंद कर सकते हैं , क्योंकि तर्क kbdवही Emacs का उपयोग करता है जब वह आपके साथ कुंजी बाइंडिंग ( *Help*उदाहरण के लिए) के बारे में संचार करता है ।

लेकिन अगर आप Emacs Lisp का उपयोग करके बाइंडिंग बना रहे हैं, तो आप वेक्टर नोटेशन को पसंद कर सकते हैं, विशेष रूप से [(meta r)]आदि, क्योंकि यह प्रबंधन करना थोड़ा आसान है।

कुछ लोग सरल स्ट्रिंग दृष्टिकोण को पुरातन मानते हैं, लेकिन कुंजी सरल होने पर यह आसान है: "a"सरल और कम से कम पढ़ने के रूप में (kbd "a")। लेकिन साधारण स्ट्रिंग्स को संशोधक कुंजियों आदि के बारे में पढ़ना / उपयोग करना कठिन होता है।


6
(global-set-key [?\M-r] 'some-command)

"देशी" तरीका है। सभी अन्य मूल रूप से इस एक के ऊपर बने होते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.