gpt4 book ai didi

emacs - 在每次输入到 minibuffer 后运行命令

转载 作者:行者123 更新时间:2023-12-01 09:50:41 26 4
gpt4 key购买 nike

我想在 Emacs 中设置一种 ISearch 模式替换,我可以在每次输入到 minibuffer 后运行命令。是否可以?

编辑 1:

这个想法是用我自己的模式完全取代 ISearch。理想情况下,我希望它具有 ISearch 的大部分功能(例如在您键入时突出显示结果)。为了实现一些,我需要在输入每个键后运行一个命令。有没有办法在 minibuffer 改变时触发一个函数,或者我应该使用不是 minibuffer 的东西?

编辑2:

更具体地说,基本上我希望从迷你缓冲区中获取一个字符串并突出显示缓冲区中的所有匹配项,就像在 ISearch 模式中一样。所以基本上,在每个字母、符号或数字输入到 minibuffer 之后,我希望能够识别这种变化并运行一些任意的 elisp。类似于 helm 识别输入和更新搜索结果的方式。

最佳答案

您想使用 minibuffer-with-setup-hook 并且在设置 Hook 中,您需要使用 post-command-hookafter-change-functions

例如。

(defun my-update-function (beg end len)
(let ((str (minibuffer-contents)))
<update-search-result>))

..(minibuffer-with-setup-hook
(lambda ()
(add-hook 'after-change-functions #'my-update-function))
...(read-string ...) ...)

关于emacs - 在每次输入到 minibuffer 后运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28987739/

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