Переназначение ключей SLIME - PullRequest
1 голос
/ 06 января 2011

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 Ответ

1 голос
/ 06 января 2011

Переопределить клавишу для режима не так-то просто, поскольку он может предоставлять несколько комбинаций клавиш.И может быть много режимов, которые захватывают мои любимые клавиши.

Я решил это следующим образом: я определил второстепенный режим, который ничего не делает, кроме того, что у него есть своя собственная таблица клавиш.Я положил туда несколько ключей, я хочу быть по-настоящему глобальным.

;; 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)
...
...