重新映射SLIME键

时间:2011-01-06 08:04:58

标签: emacs elisp mode slime

Slime会重新映射我喜欢使用的几个键,并在global-set-key中设置。

我想避免直接编辑slime.el。

在给定模式下覆盖键的例程是什么?


更新

在你的.emacs中,直接设置模式图:

(define-key slime-mode-map "\M-n" 'next-line)
(define-key slime-mode-map "\M-p" 'previous-line)

1 个答案:

答案 0 :(得分:1)

重新定义模式的密钥并不容易,因为它可以提供多个键盘映射。并且可以有许多模式可以抓住我最喜欢的按键。

我这样解决了:我定义了一个没有做任何事情的小模式,除了它有自己的键盘映射。我把一些钥匙放在那里我想要真正的全球化。

;; my minor mode for really global keybindings
(defvar my-keys-minor-mode-map (make-keymap) "my-keys-minor-mode keymap.")                           
(define-minor-mode my-keys-minor-mode
  "My minor mode for global keybindings."
  :init-value t :lighter "" :keymap 'my-keys-minor-mode-map)
(defun my-minibuffer-setup-hook ()
  (my-keys-minor-mode 0))
(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup-hook)
(my-keys-minor-mode 1)



;; for example
(define-key my-keys-minor-mode-map (kbd "C-a") 'mark-whole-buffer)
...