我正在玩 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
用你真正想要它做的任何事情來替換。如果您想使用 lambda 函數,請不要忘記使其具有互動性,否則您會收到錯誤訊息:
(eval-after-load 'textmate
'(progn
(define-key *textmate-mode-map* [(control tab)]
(lambda () (interactive)
...))))