你能搜索或过滤Vim的自动补全吗?

11

我正在使用带有Python3的和myint/ClangComplete来进行C/C++代码补全。当我键入SDL_<tab>时,会提示出SDL库中的所有函数和类型。但是否有方法可以将提示限制为仅显示SDL_EventType类型、返回SDL_Windows窗口等函数?BidiComplete似乎是一个不错的起点,因为SDL_<tab>EVENT可以匹配SDL_WINDOWEVENTSDL_FIRSTEVENT,但不包括SDL_FINGERDOWN等其他类型。理想情况下,我想能够按照ClangComplete弹出菜单中的任何字段过滤或搜索,例如“接受SDL_Window*作为参数或返回SDL_Window*的函数”。过滤/搜索机制可以采用对PUM中每行整个文本进行正则表达式匹配的方式。


3
似乎您正在请求模糊完成功能,这是已经被请求的功能(请参见:https://github.com/Rip-Rip/clang_complete/issues/388)。您可以尝试使用toobig的修改来获得您想要的功能。 - gregory
只是不要使用自动完成引擎。当我们使用它时,我们的大脑就不会存储关于我们经常使用的库的信息,最糟糕的是我们无法发现库设计者的逻辑。我在6个月前停止使用它,这极大地提高了我的生产力! - Oliv
哇,不是吧。我知道SDL_FINGERDOWN是SDL_EventType,因为我曾经在自动补全中看到过它。 我的大脑很正常,谢谢。 如果不是通过键入“SDL_EventType ::”并滚动结果,我就不会知道SDL_DOLLARRECORD是一个。我没有更好的查找所有使用SDL_EventTypes的函数的方法,除了从shell手动搜索整个代码库、检查共享库或打开文档。 - John P
请使用您的插件问题跟踪器。 - romainl
2个回答

1

0
正如我在评论中提到的那样,你似乎正在寻求模糊完成功能,这是一个已经被请求的功能(请参见:github.com/Rip-Rip/clang_complete/issues/388)。你可以尝试使用toobig的修改来实现你想要的效果。

抱歉,我认为除非要查找的符号在字母上相似,否则它不会起作用。 'SDL_FINGERDOWN'只与'SDL_DOLLARRECORD'共享'SDL_',而'SDL_DOLLARRECORD'与每个其他SDL实体都共享。我有什么遗漏吗? - John P

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接