1

Я играю с 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 ответ1

0

Все, что нужно, это

(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)
         ...))))

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