Я предполагаю, что вам просто нужно minibuffer-local-map
. Последующие определения с использованием ключей, ранее назначенных на эту карту ключей, будут превзойти предыдущие определения. Чтобы отключить предварительное назначение ключей, просто создайте новое определение и установите последнюю часть в nil
вместо 'function-name
.
(define-key minibuffer-local-map (kbd "<f6>") 'help-for-help)
Вот выдержка из Emacs Trunk .../lisp/bindings.el
:
(let ((map minibuffer-local-map))
(define-key map "\en" 'next-history-element)
(define-key map [next] 'next-history-element)
(define-key map [down] 'next-history-element)
(define-key map [XF86Forward] 'next-history-element)
(define-key map "\ep" 'previous-history-element)
(define-key map [prior] 'previous-history-element)
(define-key map [up] 'previous-history-element)
(define-key map [XF86Back] 'previous-history-element)
(define-key map "\es" 'next-matching-history-element)
(define-key map "\er" 'previous-matching-history-element)
;; Override the global binding (which calls indent-relative via
;; indent-for-tab-command). The alignment that indent-relative tries to
;; do doesn't make much sense here since the prompt messes it up.
(define-key map "\t" 'self-insert-command)
(define-key map [C-tab] 'file-cache-minibuffer-complete))