gpt4 book ai didi

regex - 如何重新定义 "minibuffer"模式映射中的键?

转载 作者:行者123 更新时间:2023-12-04 14:01:21 41 4
gpt4 key购买 nike

当在接受正则表达式并提供 C-p/C-n 历史导航的几个命令中时,我试图重新定义用于导航历史的键。除了 C-p/C-n 之外,我还想使用其他键。例如,当使用发生或替换正则表达式时,C-p 和 C-n 可用于转到上一个和下一个元素。

我已经尝试了几件事,但无法使其正常工作。我想我在这里错过了“大局”。

我需要修改哪个模式映射,何时以及如何修改?我尝试的一切都失败了。

P.S:请注意,按照此处的建议,我有自己的次要模式和所有键盘映射。

最佳答案

我假设您只需要 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))

关于regex - 如何重新定义 "minibuffer"模式映射中的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19757612/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com