我假设你只是需要minibuffer-local-map.使用先前分配给该键映射的键的后续定义将胜过先前的定义.要禁用先前的键分配,只需创建一个新定义并将最后一部分设置为nil而不是'function-name.
(define-key minibuffer-local-map (kbd "<f6>") 'help-for-help)
Run Code Online (Sandbox Code Playgroud)
以下是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))
Run Code Online (Sandbox Code Playgroud)
要添加@lawlist所说的内容(将绑定密钥minibuffer-local-map):
有多个迷你缓冲区键盘映射,具体取决于迷你缓冲区中读取的内容以及方式.您可能想要使用哪些键盘映射可能取决于您使用的是哪种Emacs版本.
此外,还有与缓冲区交互的关键图*Completions*:completion-list-mode-map.
要在迷你缓冲区中完成,主键图是minibuffer-local-completion-map.
以下是迷你缓冲区键盘列表.其中一些可能在您的Emacs版本中不可用(使用).
minibuffer-local-mapminibuffer-local-ns-mapminibuffer-local-isearch-mapminibuffer-local-completion-mapminibuffer-local-must-match-mapminibuffer-local-filename-completion-mapminibuffer-local-filename-must-match-mapminibuffer-local-must-match-filename-map此外,您可以使用minibuffer-with-setup-hook(或minibuffer-setup-hook直接)动态添加键绑定,持续一次迷你缓冲区读取.
我将添加此信息,因为当您操作迷你缓冲区键映射时它非常有用:您可以使用C-h M-k(命令describe-keymap)从库help-fns+.el中以人类可读的形式查看给定迷你缓冲区键映射的所有绑定.
| 归档时间: |
|
| 查看次数: |
1312 次 |
| 最近记录: |