Я экспериментирую с textmate.el:https://github.com/defunkt/textmate.el. Поначалу немного запутанно, если вы никогда не пробовали TextMate, но довольно круто!
Я хотел бы переопределить привязку в второстепенном режиме.
Вот фрагмент из источника, который выполняет привязку:
(defvar *textmate-mode-map*
(let ((map (make-sparse-keymap)))
(cond ((featurep 'aquamacs)
....
(t ;; Any other version
(define-key map [(control tab)] 'textmate-shift-right)
(define-key map [(control shift tab)] 'textmate-shift-left)
Вместо того, чтобы изменять исходный код, полученный с github, я бы хотел переопределить его в своем .emacs.
решение1
Все, что нужно сделать, это
(eval-after-load 'textmate
'(progn
(define-key *textmate-mode-map* [(control tab)] 'my-cool-function)))
Конечно, заменяя my-cool-function
на то, что вы хотите, чтобы она делала. Если вы хотите использовать лямбда-функцию, не забудьте сделать ее интерактивной, иначе вы получите ошибку:
(eval-after-load 'textmate
'(progn
(define-key *textmate-mode-map* [(control tab)]
(lambda () (interactive)
...))))