textmate.el マイナー モードで ctl-tab キーバインディングをオーバーライドする方法

textmate.el マイナー モードで ctl-tab キーバインディングをオーバーライドする方法

私はtextmate.elで遊んでいます:https://github.com/defunkt/textmate.elテキストメイトを試したことがない人にとっては、最初は少し混乱するかもしれませんが、とても便利です。

マイナーモードでバインディングをオーバーライドしたいと思います。

以下は、バインディングを実行するソースからのスニペットです。

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

関連情報