Как обрабатывать конфликтующие привязки клавиш
paredit связывает M-<up>
и M-<down>
, но я хочу windmove, чтобы использовать эти привязки. У меня есть режим paredit-mode, который активируется только в определенных режимах, но windmove настроен на запуск в глобальном масштабе. Я хочу, чтобы windmove выиграл, но paredit крадет эти привязки при загрузке.
Как я могу легко остановить paredit от топания на поворотных ключах? Я входил в paredit.el
и комментировал строки, которые устанавливали привязку клавиш, но это далеко не идеально (я должен помнить об этом каждый раз, когда я обновляю paredit).
В более общем смысле, могу ли я загрузить файл elisp при "защите" определенных привязок клавиш от изменения?
Ответы
Ответ 1
Вы можете использовать eval-after-load
для настройки поведения paredit после его загрузки, как описано в его комментариях:
;;; Customize paredit using `eval-after-load':
;;;
;;; (eval-after-load 'paredit
;;; '(progn ...redefine keys, &c....))
Итак, например:
(eval-after-load 'paredit
'(progn
(define-key paredit-mode-map (kbd "<M-up>") nil)
(define-key paredit-mode-map (kbd "<M-down>") nil)))
Ответ 2
На этот вопрос был дан ответ: Глобальное переопределение привязки ключей в Emacs
Вы создаете свой собственный второстепенный режим с помощью предпочтительных привязок клавиш и включаете его по всему миру, чтобы он перекрывал все другие привязки клавиш.