У меня есть следующие глобальные сочетания клавиш в Emacs:Emacs: как получить глобальное значение ярлыка
(global-set-key (kbd "C-<right>") 'forward-word)
Для орг-режиме, я решил пересмотреть этот ярлык. Если курсор стоит на ссылке, перейдите в ссылку. В противном случае - используйте функцию forward-word
.
(defun is-link-p()
(if (org-in-regexp org-bracket-link-regexp)
t))
(defun follow-link-or-next-word()
(interactive)
(if (is-link-p)
(org-open-at-point)
(forward-word)))
(add-hook 'org-mode-hook (lambda()
(define-key org-mode-map (kbd "C-<right>") 'follow-link-or-next-word)))
Можно ли изменить орг-режим ярлык следующим образом: вместо вызова (вперед-слово), найти то, что функция глобально связана с "C-<right>"
и называть его вместо этого.
Таким образом, мне не нужно будет менять (форвард-слово) дважды, если я решит изменить глобальный ярлык.
Если вы явно хотите глобальное связывание в качестве запасного варианта, то это не дубликат; однако, определенно связаны следующие: [Elisp: условно изменить ключевое слово] (http://stackoverflow.com/questions/16090517/elisp-condition-change-keybinding) и [Emacs key binding fallback] (http://stackoverflow.com/вопросы/2494096/Emacs-ключ-связывающего резервный). – phils