[英]in Emacs, how to change key bindings for orgstruct-mode?
我為組織模式使用自定義鍵綁定:
(eval-after-load "org"
'(progn
(define-key org-mode-map (kbd "<M-S-left>") nil)
(define-key org-mode-map (kbd "<M-S-right>") nil)
(define-key org-mode-map (kbd "<M-S-up>") nil)
(define-key org-mode-map (kbd "<M-S-down>") nil)
(define-key org-mode-map (kbd "<M-left>") nil)
(define-key org-mode-map (kbd "<M-right>") nil)
(define-key org-mode-map (kbd "<M-right>") nil)
(define-key org-mode-map [C-S-right] 'org-shiftmetaright)
(define-key org-mode-map [C-S-left] 'org-shiftmetaleft)
(define-key org-mode-map [C-right] 'org-metaright)
(define-key org-mode-map [C-left] 'org-metaleft)
(define-key org-mode-map [C-up] 'org-metaup)
(define-key org-mode-map [C-down] 'org-metadown)
(define-key org-mode-map [C-S-return] 'org-insert-todo-heading)
))
我想在orgstruct-mode中使用這些相同的鍵綁定,該鍵綁定運行在top message-mode之上。 我嘗試的方法不起作用:
(define-key orgstruct-mode-map (kbd "<M-S-left>") nil)
(define-key orgstruct-mode-map (kbd "<M-S-right>") nil)
(define-key orgstruct-mode-map (kbd "<M-S-up>") nil)
(define-key orgstruct-mode-map (kbd "<M-S-down>") nil)
(define-key orgstruct-mode-map (kbd "<M-left>") nil)
(define-key orgstruct-mode-map (kbd "<M-right>") nil)
(define-key orgstruct-mode-map (kbd "<M-up>") nil)
(define-key orgstruct-mode-map (kbd "<M-down>") nil)
如何更改orgstruct-mode的鍵映射?
將鍵定義為nil
解除綁定。 通過取消綁定orgstruct-mode-map
(次要模式)中的鍵,您已經暴露了message-mode-map
(主要模式)綁定。 您可以通過主動將這些鍵綁定到orgstruct-mode-map
來覆蓋message-mode-map
鍵綁定,但是如果要取消綁定它們,則還需要取消綁定message-mode-map
的鍵。
這是在兩個地圖中取消綁定所有這些鍵的方法:
(cl-dolist (map '(message-mode-map orgstruct-mode-map))
(cl-dolist (key '("<M-S-left>" "<M-S-right>" "<M-S-up>" "<M-S-down>"
"<M-left>" "<M-right>" "<M-up>" "<M-down>"))
(define-key (eval map) (kbd key) nil)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.