1

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)
4

1 回答 1

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)
...
于 2011-01-06T08:59:01.957 回答