1

我有一个名为 this 的 vim 插件,files.vim 它会列出所有文件并让您搜索和打开它。

我想通过接受您的击键来改进这一点,从而过滤搜索结果。我可以使用input()方法来接受用户的一句话。但是我希望它在用户键入时读取输入,就像 javascript 一样onkeypress

搜索vim帮助,仍然没有运气。

有办法吗?

4

2 回答 2

1

你正在寻找getchar().

从用户或输入流中获取单个字符。

选择

一些插件(例如FuzzyFinder - 带有模糊匹配的缓冲区/文件/命令/标签/等资源管理器)使用不同的方法:它们打开一个使用自定义插入模式完成编程的暂存缓冲区。完成功能将在每次按键时自动调用,然后插件能够更新匹配列表。在缓冲区内部,类似Enter的键也被挂钩,因此当完成完成时,暂存缓冲区会自动关闭并检索结果。实际上,FuzzyFinder 可以用你自己的数据源进行扩展;可能值得研究一下,而不是重新实现类似的东西。

于 2013-09-17T15:15:24.320 回答
0

您是否尝试过autocmd检测光标移动?

于 2013-09-17T14:48:40.917 回答