在emacs中实现增量搜索

时间:2013-05-21 12:09:18

标签: search emacs elisp

我想改进emacs-eclim并在当前编辑的项目中添加java类型的增量搜索(Eclipse中的Shift-Ctrl-H)。

我可以调用eclim-java-find变体来获取* eclim:find buffer中的结果。

但是我的问题出现了:

如何实现允许用户键入迷你缓冲区(带有提示符)的行为,并使用当前迷你缓冲区内容作为参数或其他方式调用每个迷你缓冲区更改(新/已删除字符)上的其他功能访问当前搜索字符串。

1 个答案:

答案 0 :(得分:2)

例如,您可以向post-command-hook添加功能。在每个命令之后调用(键入一个字符也是一个命令:self-insert-command)。然后,您的函数可以使用函数minibuffer-contents检查迷你缓冲区内容。

当您的搜索命令完成时,不要忘记从post-command-hook删除您的功能。您可以使用minibuffer-setup-hookminibuffer-exit-hook来控制附加功能。

在搜索命令完成时,不要忘记从minibuffer-setup-hook / minibuffer-exit-hook删除附加功能。 :)