特別是,當我加載dired-x時,它將M-o設置爲切換省略次要模式。我使用M-o作爲其他窗口,所以我想改變dired-x綁定到其他的鍵。我試圖在模式加載後如下設置密鑰:如何覆蓋/更改elisp中的模式鍵綁定?
(add-hook 'dired-mode-hook
(lambda()
(dired-omit-mode 1)
(global-set-key (kbd "M-o") 'other-window)
))
但無濟於事。
特別是,當我加載dired-x時,它將M-o設置爲切換省略次要模式。我使用M-o作爲其他窗口,所以我想改變dired-x綁定到其他的鍵。我試圖在模式加載後如下設置密鑰:如何覆蓋/更改elisp中的模式鍵綁定?
(add-hook 'dired-mode-hook
(lambda()
(dired-omit-mode 1)
(global-set-key (kbd "M-o") 'other-window)
))
但無濟於事。
略比添加自定義的另一個副本,全局綁定到本地模式地圖更好,會刪除本地綁定,以便它不再陰影的全局綁定。在你做這件事之前,你也可以給這個功能一個新的鑰匙。
(eval-after-load "dired-x"
'(progn
;; Add an alternative local binding for the command
;; bound to M-o
(define-key dired-mode-map (kbd "C-c o")
(lookup-key dired-mode-map (kbd "M-o")))
;; Unbind M-o from the local keymap
(define-key dired-mode-map (kbd "M-o") nil)))
試過看着http://stackoverflow.com/questions/3773820/emacs-shortcuts-specific-for-a-file-type/3773856#3773856? – huitseeker
沒有找到那個,謝謝。這與下面接受的答案是一樣的。 – Loren
我愛堆棧溢出:不僅僅是這正是我想要的,這也正是我想要的鍵綁定... – Shep