【问题标题】:Can you search or filter Vim completions?你能搜索或过滤 Vim 补全吗?
【发布时间】:2017-06-26 23:27:05
【问题描述】:

我将 Vim 8.0Python3 和 myint/ClangComplete 一起用于 C/C++ 补全。 SDL_<tab> 建议来自 SDL 的每个函数和类型。有没有办法将建议限制为 SDL_EventType 类型、返回 SDL_Windows 的函数等? BidiComplete 似乎是一个不错的起点,因为 SDL_<tab>EVENT 将匹配 SDL_WINDOWEVENTSDL_FIRSTEVENT,但不匹配 SDL_FINGERDOWN 等。理想情况下,我希望能够按 ClangComplete 中的任何/所有字段进行过滤弹出菜单,因为我可能对“将 SDL_Window* 作为参数或返回一个的函数”感兴趣。过滤/搜索机制可以只是对 PUM 中每一行的整个文本进行正则表达式。

【问题讨论】:

  • 似乎您要求模糊完成,这是一个已经请求的功能(请参阅:github.com/Rip-Rip/clang_complete/issues/388)。你也许可以使用toobig的修改来得到你想要的。
  • 只是不要使用完成引擎。当我们使用它时,我们的大脑只是不存储我们经常使用的库的信息,最糟糕的是我们没有发现库设计者的逻辑。我在 6 个月前停止使用它,它极大地提高了我的工作效率!!
  • 哇。不。我知道 SDL_FINGERDOWN 是一个 SDL_EventType 因为我曾经在完成中看到它。 我的大脑工作正常,谢谢。 如果不输入 SDL_EventType:: 并滚动查看结果,我不会知道 SDL_DOLLARRECORD 是一个,而且我没有更好的方法来查找所有函数使用 SDL_EventTypes 而不是从 shell 中手动 grepping 整个代码库、戳共享库或提取文档。
  • 使用插件的问题跟踪器。

标签: c++ regex vim code-completion clang-complete


【解决方案1】:

Vim 补全引擎 YCM 已经实现了对这个特性的支持,并且与 clang 集成得很好。 http://ycm-core.github.io/YouCompleteMe/#c-family-semantic-completion

【讨论】:

    【解决方案2】:

    正如我在评论中提到的,您似乎在要求模糊完成,这是一个已经要求的功能(请参阅:github.com/Rip-Rip/clang_complete/issues/388)。你也许可以使用toobig的修改来得到你想要的。

    【讨论】:

    • 抱歉,我不这么认为,除非要查找的符号按字母顺序相似。 “SDL_FINGERDOWN”仅与“SDL_DOLLARRECORD”共享“SDL_”,它与其他所有 SDL 实体共享。我错过了什么吗?
    猜你喜欢
    • 2013-09-28
    • 1970-01-01
    • 2013-02-17
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    相关资源
    最近更新 更多