Как переопределить сочетание клавиш ctl-tab в второстепенном режиме textmate.el

Как переопределить сочетание клавиш ctl-tab в второстепенном режиме textmate.el

Я экспериментирую с 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)
         ...))))

Связанный контент