2012-12-20 16 views
20

उदाहरण के लिए में बाध्यकारी ज़ेन-कोडिंग के कोड में कुंजी, "मुख्य न्यायाधीश" "मुख्य न्यायाधीश" का सामान्य व्यवहार छाया (newline-and-indent)अनसेट, Emacs

(define-key zencoding-mode-keymap (kbd "C-j") 'zencoding-expand-line) 

तो कैसे मैं इस की बाइंडिंग और उपयोग कर सकते हैं अनसेट C-jnewline-and-indent के लिए फिर से?

मैं इस कोशिश की, लेकिन यह काम नहीं करता:

(add-hook 'html-mode-hook 
      (lambda() 
      (progn 
       (zencoding-mode) 
       (local-set-key (kbd "C-j") 'newline-and-indent)))) 

विचारों किसी को भी है इस बारे में?

(define-key KEYMAP KEY nil) 

सुविधा के लिए, वहाँ भी unbinding के लिए दो मानक कार्यों वैश्विक कीमैप से और स्थानीय से हैं:

+0

किसी को भी जानता कि क्यों 'एड-hook' इस मामले में काम नहीं कर रहा:

अपने विशिष्ट उदाहरण के रूप में, आप शायद कुछ इस तरह करना चाहते हैं? – darksky

+1

नायफैक: वह कोड जेनकोडिंग-मोड की कीमैप को प्रभावित नहीं करता है क्योंकि ज़ेनकोडिंग-मोड एक मामूली मोड है, और (नीचे दिए गए उत्तर के अनुसार) स्थानीय-सेट-कुंजी प्रमुख मोड की कीमैप को प्रभावित करता है। मामूली मोड कीमैप्स प्रमुख मोड कीमैप्स पर प्राथमिकता लेते हैं, इसलिए असम्बद्ध जेनकोडिंग-मोड बाइंडिंग का उपयोग जारी रखा जाता है। – phils

उत्तर

29

सामान्य तरीके से एक प्रमुख (किसी भी कीमैप के लिए) निकल करने के लिए nil के बंधन को परिभाषित करने के लिए है कीमैप (जो आमतौर पर प्रमुख मोड की कीमैप है)।

  • (global-unset-key KEY)
  • (local-unset-key KEY)

उन लोगों इंटरएक्टिव आज्ञाओं, उनके संबंधित पूरक global-set-key और local-set-key के अनुसार हैं।

(eval-after-load "zencoding-mode" 
    '(define-key zencoding-mode-keymap (kbd "C-j") nil)) 
+0

सही जवाब मैं कहूंगा। – PascalVKooten

+0

99% समय यह वही है जो आप चाहते हैं। हालांकि, मैं कल चढ़ गया और लगा कि मैं एक टिप्पणी करूँगा क्योंकि यह अभी भी मेरे सिर में ताजा है। कुछ कीमैप्स में डिफ़ॉल्ट बाइंडिंग होती है, यानी कोई भी कुंजी जो स्पष्ट रूप से कुछ कमांड के बजाय कुछ कमांड पर डिफ़ॉल्ट रूप से बाध्य नहीं होती है। मेरे मामले में यह खोज-मोड-मैप था, जो एम- या ईएससी से शुरू होने वाली कुंजियों के लिए आइसर्च-अन्य-मेटा-चार पर डिफ़ॉल्ट है। – jpkotta

+1

शायद यह एक पूरा सवाल होना चाहिए, लेकिन अगर मैं पहले से ही नहीं जानता कि यह क्या है तो कीमैप के नाम को समझने का एक अच्छा तरीका क्या है? –