在EMACS org.mode中覆盖Ctrl-TAB

Zub*_*air 14 emacs keyboard-shortcuts org-mode

我想在EMACS中使用Ctrl+ Tab供我自己使用,但是Emacs组织模式已经有了这个限制.我如何使用自己的绑定而不是org-mode绑定.

在我的.emacs文件中,我使用:

(global-set-key (kbd "<C-tab>") 'switch-view )
Run Code Online (Sandbox Code Playgroud)

除了org-mode之外,它可以在任何地方使用

pap*_*ika 23

您描述的键绑定定义org.el如下:

(org-defkey org-mode-map [(control tab)] 'org-force-cycle-archived)
Run Code Online (Sandbox Code Playgroud)

这意味着它仅在org-mode-maporg-mode的本地键映射之一中有效.以下代码添加了在org-mode启动时运行的挂钩.它只是从中删除了该键绑定org-mode-map.

(add-hook 'org-mode-hook
          '(lambda ()
             (define-key org-mode-map [(control tab)] nil)))
Run Code Online (Sandbox Code Playgroud)

将此代码添加到.emacs文件中,然后重新启动emacs.


phi*_*ils 5

无论主要模式如何,设置要在任何地方生效的键绑定的更健壮的方法是使用自定义键映射定义全局次要模式.

次要模式也可以有本地键盘图; 只要次模式生效,其键映射中的定义将覆盖主模式的本地键映射和全局键映射

(http://www.gnu.org/software/emacs/manual/html_node/emacs/Local-Keymaps.html)

这样,每次遇到破坏键绑定的模式时,您都不需要乱用主模式的本地键盘映射.

有关详细信息,请参阅此问答:
全局覆盖Emacs中的键绑定