Como sobrescrever um atalho de teclas no modo organizacional do Emacs

1

Acabei de atualizar o modo de org emacs e, ao visitar os arquivos da organização, essa ligação entra em vigor:

C-TAB (org-force-cycle-archived) Cycle a tree even if it is tagged with ARCHIVE.

Qual é a melhor maneira de desativar essa ligação?

Eu uso o C-Tab para mover entre janelas.

Eu tentei criar um gancho, mas isso não está funcionando. A ligação de chave local ainda tem precedência.

(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)
    
por justingordon 20.10.2014 / 00:28

1 resposta

3

Aqui estão alguns exemplos de coisas que desabilito no modo de organização - usei require , mas você poderia usar um eval-after-load - você não precisa fazer isso toda vez que um buffer de modo organizacional for carregado (por exemplo, um gancho de modo é um exagero):

(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)
    
por 20.10.2014 / 01:54