【问题标题】:ReBinding keys in OrgMode [duplicate]OrgMode中的重新绑定键[重复]
【发布时间】:2012-10-05 23:33:15
【问题描述】:

可能重复:
Override Ctrl-TAB in EMACS org.mode

我正在尝试重新绑定 C-y 以重做。 我已经尝试了所有可能的选项:

(global-unset-key (kbd "C-y")),在组织模式钩子的外部和内部, 和 (define-key org-mode-map (kbd "C-y") nil)。

什么都没有。在 OrgMode 之外它表现得非常好,但在里面呢?它猛拉。 这实际上不是我在 OrgMode 中时不起作用的第一个 KeyBinding, 这让我感到困惑。

请帮忙。

【问题讨论】:

  • 如果您已经“尝试了所有可能的选择”,那么问这个问题没有多大意义,对吧? :)
  • 很公平;)我已经尝试了我目前知道的所有选项。
  • 这是与stackoverflow.com/questions/4333467/… 的副本吗? (不清楚您是在加载 org 模式之前还是之后尝试设置 org-mode-map 绑定)。您也可以使用这种方法:stackoverflow.com/questions/2736087/…
  • 我之前和之后都尝试过加载。奇怪的是,对于 local-set-key 它确实有效。你有什么解释为什么它与 local-set-key 一起工作,而不是在 org-mode 钩子中与 global-set-key 一起工作?
  • global-set-key 影响全局键映射。 local-set-key 影响(通常)当前缓冲区主要模式的键盘映射。主要模式键盘映射优先于全局键盘映射(次要模式键盘映射优先于主要模式映射)。这篇文章是关于这个(有点复杂)主题的优秀入门:masteringemacs.org/articles/2011/02/08/…

标签: emacs


【解决方案1】:

在神话般的 phils 的快速帮助下,我偶然发现了两件事: Globally override key binding in Emacs 我目前使用的,和 http://www.masteringemacs.org/articles/2011/02/08/mastering-key-bindings-emacs/ 我一定会尽快阅读。

谢谢菲尔斯;)

我目前的设置是这样的:

(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-unset-key 无效时,我发现此答案对于在 org-mode 中设置多个键很有用。
猜你喜欢
  • 2014-11-08
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-11
  • 1970-01-01
  • 2016-05-17
  • 1970-01-01
相关资源
最近更新 更多