我正在尝试将 C-y 重新绑定为重做。 我尝试了所有可能的选项:
(global-unset-key (kbd "C-y")),在 org mode 钩子内外以及 (define-key org-mode-map (kbd "C-y") nil)。 但是什么都没有发生。在 OrgMode 外部它完美地工作,但是在里面?它会粘贴。 这实际上不是我在 OrgMode 内部无法工作的第一个 KeyBinding,这让我感到困惑。
请帮帮我。
我正在尝试将 C-y 重新绑定为重做。 我尝试了所有可能的选项:
(global-unset-key (kbd "C-y")),在 org mode 钩子内外以及 (define-key org-mode-map (kbd "C-y") nil)。 但是什么都没有发生。在 OrgMode 外部它完美地工作,但是在里面?它会粘贴。 这实际上不是我在 OrgMode 内部无法工作的第一个 KeyBinding,这让我感到困惑。
请帮帮我。
(defvar custom-keys-mode-map (make-keymap) "custom-keys-mode keymap.")
(define-minor-mode custom-keys-mode
"A minor mode so that my key settings override annoying major modes."
t " my-keys" 'custom-keys-mode-map)
(custom-keys-mode 1)
(defun my-minibuffer-setup-hook ()
(custom-keys-mode 0))
(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)
(defadvice load (after give-my-keybindings-priority)
"Try to ensure that my keybindings always have priority."
(if (not (eq (car (car minor-mode-map-alist)) 'custom-keys-mode))
(let ((mykeys (assq 'custom-keys-mode minor-mode-map-alist)))
(assq-delete-all 'custom-keys-mode minor-mode-map-alist)
(add-to-list 'minor-mode-map-alist mykeys))))
(ad-activate 'load)
(define-key custom-keys-mode-map (kbd "<C-key>") 'some-command)
global-set-key
影响全局键位映射。local-set-key
影响(通常是)当前缓冲区主模式的键位映射。主模式键位映射优先于全局键位映射(次模式键位映射优先于主模式键位映射)。这篇文章是关于这个(有点复杂)主题的绝佳入门指南:http://www.masteringemacs.org/articles/2011/02/08/mastering-key-bindings-emacs/ - phils