उपयोग-पैकेज का उपयोग करते हुए अनबाइंडिंग कुंजी


10

मैं अनबाइंड कोशिश कर रहा हूँ org-cycle-agenda-filesजो करने के लिए सेट किया जाता है C-'और C-,

ऐसा करने के लिए मेरी पसंद का हथियार उपयोग-पैकेज पैकेज है।

पर github.com/use-package/bind-key.el पेज मैं लाइनों निम्नलिखित पाया है:

;; To unbind a key within a keymap (for example, to stop your favorite major
;; mode from changing a binding that you don't want to override everywhere),
;; use `unbind-key':
;;
;;   (unbind-key "c-c x" some-other-mode-map)

इसके परिणामस्वरूप मेरे द्वारा भिन्नताओं के असफल प्रयास किए गए:

(unbind-key "C-'" )
(unbind-key "C-," )
(unbind-key "C-'" (org-cycle-agenda-files))
(unbind-key "C-," (org-cycle-agenda-files))
(bind-keys :map org-mode-map
       :unbind "C-'")
(unbind-key "C-'" org-cycle-agenda-files)

उस असफलता के बाद मैंने समस्या के कुछ "पारंपरिक" समाधान की कोशिश की।

जानकारी gnu.org मैनुअल में मिली , और कुछ emacs.stackexchange जवाबों के परिणामस्वरूप मुझे बेकार का कहर हुआ।

(define-key (org-cycle-agenda-files) key nil)
(define-key (current-global-map) "C-'" nil)
(local-unset-key "C-'")
(global-unset-key "C-'")
(with-eval-after-load org-mode
  (unbind-key "C-'" org-mode-map)
  (unbind-key "C-," org-mode-map))
(global-set-key (kbd "C-'") 'nil)

हां .... ये भिन्नताएं कोई नहीं। : डी

मैं उपयोग-पैकेज आधारित समाधान ढूंढना पसंद करूंगा , क्योंकि मैं पहले से ही इसमें से कुछ का उपयोग कर रहा हूं।

किसी भी तरह के सुझाव का स्वागत है।

जवाबों:


14

यदि आप C-h fऔर दर्ज करते हैं unbind-key, तो मदद कहती है:

unbind-key 'bind-key.el' में एक ऑटोलैड लिस्प मैक्रो है।

(unbind- कुंजी KEY-NAME और वैकल्पिक KEYMAP)

प्रलेखित नहीं।

दूसरा तर्क unbind-keyएक मुख्य मानचित्र है - उदाहरण के लिए org-mode-map

यह मेरे लिए काम करता है:

(require 'bind-key)
(unbind-key "C-," org-mode-map)
(unbind-key "C-'" org-mode-map)

इसे लगाने के लिए एक अच्छी जगह :configएक use-packageफॉर्म का खंड होगा ।


4

हाँ unbinding सुरुचिपूर्ण नहीं दिखता है, लेकिन यह इस उत्तर के अनुसार मुख्य दृष्टिकोण है ।

उपयोग-पैकेज के लिए के रूप में, मैं के तहत unbind का उपयोग कर रहा है: जैसे init निर्देश:

:init
(unbind-key "C-'" org-mode-map)
(unbind-key "C-," org-mode-map)

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