在我的.emacs
文件中,我想为特定主要模式添加一个键绑定(设置coffee-compile-file
为C-c C-c咖啡模式)。
我发现了很多关于使用local-set-key
和的说明global-set-key
,因此一旦我在咖啡模式下打开文件,我就可以轻松添加此绑定,但如果能由来处理就更好了.emacs
。
答案1
使用模式钩子。 C-h m
显示有关主要模式的信息,通常包括它支持的钩子;然后你做类似的事情
(add-hook 'coffee-mode-hook ;; guessing
'(lambda ()
(local-set-key "\C-cc" 'coffee-compile-file)))
答案2
您可以在模式特定的映射中定义键,例如:
(add-hook 'coffee-mode-hook
(lambda ()
(define-key coffee-mode-map (kbd "C-c c") 'coffee-compile-file)))
或者更清楚一点:
(eval-after-load "coffee-mode"
'(define-key coffee-mode-map (kbd "C-c c") 'coffee-compile-file))
coffee-mode
第二条语句导致键定义仅发生一次,而第一条语句导致每次启用时都会发生定义(这有点过度了)。
答案3
Emacs 24.4 已被eval-after-load
取代with-eval-after-load
:
** New macro `with-eval-after-load'.
This is like the old `eval-after-load', but better behaved.
所以答案应该是
(with-eval-after-load 'coffee-mode
(define-key coffee-mode-map (kbd "C-c C-c") 'coffee-compile-file)
(define-key erlang-mode-map (kbd "C-c C-m") 'coffee-make-coffee)
;; Add other coffee commands
)