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


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.