1

Я только что обновил emacs org-mode и при посещении файлов org эта привязка вступает в силу:

C-TAB (org-force-cycle-archived) Цикл дерева, даже если он помечен как ARCHIVE.

Какой лучший способ отключить эту привязку?

Я использую C-Tab для перемещения между окнами.

Я пытался создать крючок, но это не сработало. Привязка локального ключа по-прежнему имеет приоритет.

(defun my-org-mode-hook ()
  (define-key global-map '[(control tab)] 'other-window)
  (define-key global-map '[(shift control tab)] 'my-other-window-back)
  (global-set-key '[(control tab)] 'other-window)
  (global-set-key '[(shift control tab)] 'my-other-window-back)
  (local-set-key '[(control tab)] 'other-window)
  (local-set-key '[(shift control tab)] 'my-other-window-back)
  )
(add-hook 'org-mode-hook 'my-org-mode-hook)

1 ответ1

3

Вот примеры некоторых вещей, которые я отключаю в режиме org - я использовал require , но вы можете использовать вместо eval-after-load - вам не нужно делать это каждый раз при загрузке буфера режима org (например, перехват режима является излишним):

(require 'org)

(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-up>") nil)
(define-key org-mode-map (kbd "<M-down>") nil)
(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-left>") nil)
(define-key org-mode-map (kbd "<S-left>") nil)
(define-key org-mode-map (kbd "<S-right>") nil)
(define-key org-mode-map (kbd "<S-up>") nil)
(define-key org-mode-map (kbd "<S-down>") nil)
(define-key org-mode-map (kbd "<M-right>") nil) 
(define-key org-mode-map (kbd "C-<tab>") nil)
(define-key org-mode-map (kbd "C-S-<tab>") nil)
(define-key org-mode-map (kbd "<C-up>") nil)
(define-key org-mode-map (kbd "<C-down>") nil)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .