V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pony279
V2EX  ›  Vim

比 deoplete 更快!比 YCM 更轻!支持 neovim/vim8 的自动补全框架!

  •  2
     
  •   pony279 · 2017-03-04 14:19:02 +08:00 · 33558 次点击
    这是一个创建于 2819 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一大波 gif 在这里: https://github.com/roxma/nvim-completion-manager/issues/12

    关于为什么更快的问题,请移步 项目 README 文档。

    当然可以和 @autozimuLanguageClient-neovim 配合使用

    第 1 条附言  ·  2017-03-04 15:15:36 +08:00

    简单说明下

    有评论支持认为 nvim-completion-manager 比 deoplete 快,看这里

    除了评论里提到的 async 架构的区别,在贡献者的帮助下,还有其它优化让 NCM 更快,比如看这里

    当然 deoplete 的作者也有重构 deoplete 的改进计划,包括 vim8 的支持,看这里,和这里。vim8 支持可能会用上我发起的 vim-hug-neovim-rpc,有心的同学可以提供必要关注,我由于竞争关系就不会在 deoplete 上面花太多的时间了。

    关于比 YCM 更轻的说法,老实说 NCM 使用的多进程架构对内存来说视比较重的,但是根据我过去对 YCM 的体验,YCM 对 VIM 的启动时间影响非常明显,而 NCM 选择了延迟加载,在neovim窗口显示后才启动,在 neovim 退出后直接 detach NCM 管理进程,NCM 管理进程继续做必要的清理工作,所以对 neovim 的启动和退出都是影响非常小的。

    第 2 条附言  ·  2017-03-06 16:30:23 +08:00

    刚刚看到 Shougo 大神的 twitter,

    deopleteの最適化を進めている。 補完方法を変更する予定だ。 少しはマシになるだろう。 これは並列化のための布石にすぎない。 deopleteは最強の補完プラグインになる。それは今ではない。

    Google 翻译:

    Deoplete's rival is nvim-completion-manager. To be honest, I am better than my complementary plugin. That is why I can not lose.

    倍感荣幸,我也会加油的 (ง •̀_•́)ง

    第 3 条附言  ·  2017-03-06 16:35:02 +08:00

    刚刚的日文引用复制错了,我不懂日文,抱歉 (/ω\)

    deopleteのライバルはnvim-completion-managerである。正直言ってこれまでの補完プラグインより良くできている。 だからこそ私は負けられない。

    107 条回复    2018-11-24 02:13:49 +08:00
    1  2  
    fcymk2
        101
    fcymk2  
       2017-12-03 22:55:30 +08:00
    @pony279 不能在 ncm-clang 里面加上 goto 的功能么...
    fcymk2
        102
    fcymk2  
       2017-12-04 08:22:25 +08:00
    没安装 clang 的时候, c 补全 不会从 tag 里面找吗? 建了 tag, . -> 都没提示
    pony279
        103
    pony279  
    OP
       2017-12-05 14:24:54 +08:00
    @fcymk2

    > 不能在 ncm-clang 里面加上 goto 的功能么...


    clang 命令不支持 goto,要加的话必须使用 libclang,目前没有这个精力去维护

    > 没安装 clang 的时候, c 补全 不会从 tag 里面找吗? 建了 tag, . -> 都没提示

    Tag 补全默认是 输入 4 个字符以后出现。tag 文件没有 struct 和成员之间的联系,所以对 . -> 这些符号做提示没有意义。虽然你可以改 tag source 的默认配置实现。 :help g:cm_sources_override。
    fcymk2
        104
    fcymk2  
       2017-12-05 16:54:59 +08:00
    @pony279 试了下...这个 goto 也只能在本文件跳转, 别的文件的函数跳不过去...还是建个 tag 用 c-]跳好了...补全 ncm 现在挺好用的了....
    chrisyue
        105
    chrisyue  
       2017-12-08 16:11:53 +08:00
    昨天才写了一篇介绍 nvim-completion-manager 的文章( https://www.chrisyue.com/?p=3379 ),今天就搜到这里了。原来作者是国人啊厉害了点赞。
    fcymk2
        106
    fcymk2  
       2018-04-18 16:41:00 +08:00
    不维护了么 @_@ 好久没更新了...
    ooops
        107
    ooops  
       2018-11-24 02:13:49 +08:00
    想问一下 我的补全列表是反着的,是什么原因呢?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3589 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:19 · PVG 12:19 · LAX 20:19 · JFK 23:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.