ยกเลิกการผูกกุญแจโดยใช้แพ็คเกจ


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)

ใช่ .... ไม่มีการเปลี่ยนแปลงเหล่านี้ vorks : D

ฉันชอบที่จะหาวิธีการแก้ปัญหาการใช้แพคเกจเนื่องจากฉันใช้แล้วบางส่วนของความสามารถที่ยอดเยี่ยม

ข้อเสนอแนะใด ๆ ก็ยินดีต้อนรับ

คำตอบ:


14

หากคุณC-h fเข้าunbind-keyร่วมความช่วยเหลือจะแจ้งว่า:

unbind-key เป็นมาโคร Lisp ที่โหลดอัตโนมัติใน `bind-key.el '

(ยกเลิกการผูกคีย์ 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

ใช่การผูกไม่ได้ดูสง่างาม แต่นั่นเป็นวิธีการหลักตามคำตอบนี้

สำหรับแพ็คเกจการใช้งานฉันใช้ unbind under: init directive ดังนี้:

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

คุณต้องใส่สิ่งนี้ไว้ข้างใน:configไม่ใช่:initเพราะใน:initkeymap อาจยังไม่โหลด
kotchwane
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.