1

Slime は、私が好んで使用し、global-set-key に設定したいくつかのキーを再マップします。

Slime.el を直接編集することは避けたいと思います。

特定のモードでキーをオーバーライドするルーチンは何ですか?


アップデート:

.emacs で、mode-map を直接設定します。

(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 に答える