• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jxwho
V2EX  ›  程序员

vim 的补全插件

  •  
  •   jxwho · Mar 9, 2014 · 10054 views
    This topic created in 4473 days ago, the information mentioned may be changed or developed.
    我想问下,vim有什么插件可以让vim支持类似python的flask、pyro4这些第三方的代码提示、补全?
    谢谢~~~
    27 replies    1970-01-01 08:00:00 +08:00
    hitsmaxft
        1
    hitsmaxft  
       Mar 9, 2014
    neocomplete or youcomplete
    jxwho
        2
    jxwho  
    OP
       Mar 9, 2014
    @hitsmaxft neocomplete可以支持其他库的补全?不是built-in的
    hitsmaxft
        3
    hitsmaxft  
       Mar 9, 2014
    利用 omnicomplete 实现的. 见github的readme呗
    jxwho
        4
    jxwho  
    OP
       Mar 9, 2014
    @hitsmaxft 貌似只能实现对Python内置的提醒吧?
    kehr
        5
    kehr  
       Mar 9, 2014
    youcomplete是一个好选择。前段时间装上一直报错,退而求其次用了neocomplete,勉强够用。
    jsonline
        6
    jsonline  
       Mar 9, 2014
    PyCharm 吧,不折腾
    ChiangDi
        7
    ChiangDi  
       Mar 9, 2014
    @kehr youcompleteme那个按文档编译一下就好了。
    jxwho
        8
    jxwho  
    OP
       Mar 9, 2014
    @kehr
    @ChiangDi
    youcompleteme可以提示第三方的库吗?
    (之前装有completeme貌似冲突,vim都打不开
    ChiangDi
        9
    ChiangDi  
       Mar 9, 2014
    @jxwho 用Vundle装好后启动是会报错,叫你编译个东西,你仔细看看安装指南,很简单的步骤。

    觉得那个Sublime的自动补全插件强太多了,我打算用Sublime了。
    ChiangDi
        10
    ChiangDi  
       Mar 9, 2014
    http://img5.tuchuang.org/uploads/2014/03/Screenshot from 2014-03-09 13:57:01.png
    表示很惊讶,谷歌的广告怎么越来越聪明了。。
    jxwho
        12
    jxwho  
    OP
       Mar 9, 2014
    @ChiangDi 不行耶,,,我运行了 ./install.sh后,vim直接打不开了...
    jxwho
        13
    jxwho  
    OP
       Mar 9, 2014
    @ChiangDi 但是我的虚拟机Ubuntu可以用耶...好奇怪
    ChiangDi
        14
    ChiangDi  
       Mar 9, 2014
    @jxwho 我用的就是Ubuntu,所以没遇到问题~~

    也许是你Vim的版本太低了吧。
    cassyfar
        15
    cassyfar  
       Mar 9, 2014
    老实用着supertab 其他兼容性不好 neo的还有小bug
    VIM补全确实没什么好插件
    jsonline
        16
    jsonline  
       Mar 9, 2014 via Android
    说了不折腾。。。
    wooparadog
        17
    wooparadog  
       Mar 9, 2014
    ropevim ...
    9hills
        18
    9hills  
       Mar 9, 2014
    我用的spf13-vim 这个东西,里面有三套补全系统,在.vimrc.before.local里面设定

    1. neocomplcache, neocomplete ,同一个人做的,后者较新,但是只支持vim7.3+ 以及编译的时候要加lua

    我用的neocomplete,python补全无问题,包括第三方模块


    2.还有youcompleteme,这个是基于llvm,主攻cpp,当然Python也能弄。这个我还没试过
    9hills
        19
    9hills  
       Mar 9, 2014
    一般人,用spf13-vim,然后在.vimrc.before.local 适当精简下就够用了,默认装的插件略多。现在我的设定
    https://github.com/ninehills/dotvim

    let g:spf13_bundle_groups=['general', 'neocomplete', 'programming', 'python', 'go']

    设定完之后,打开vim :Bundle Clean :BundleInstall 搞定。不折腾,以前都是自己折腾插件,太累
    wklken
        20
    wklken  
       Mar 9, 2014
    @jiazhoulvke 第三方模块补全需要额外进行配置么?用了很久一直没成功过,有没有配置或文档可以参考?
    Muninn
        21
    Muninn  
       Mar 10, 2014
    我是用的youcomplateme 蛮麻烦的 不过设置好了还不错
    jiazhoulvke
        22
    jiazhoulvke  
       Mar 10, 2014   ❤️ 1
    @wklken 不需要啊,不过有一点需要注意,就是你的模块都是装在virtualenv里的话就要先在终端里activate,然后在终端里运行vim/gvim,这样才能找到第三方模块的路径
    wklken
        23
    wklken  
       Mar 10, 2014
    @jiazhoulvke thx,已解决,少配了个路径
    全部配置:

    Bundle 'Valloric/YouCompleteMe'
    "youcompleteme 默认tab s-tab 和自动补全冲突
    "let g:ycm_key_list_select_completion=['<c-n>']
    let g:ycm_key_list_select_completion = ['<Down>']
    "let g:ycm_key_list_previous_completion=['<c-p>']
    let g:ycm_key_list_previous_completion = ['<Up>']
    "在注释输入中也能补全
    let g:ycm_complete_in_comments = 1
    "在字符串输入中也能补全
    let g:ycm_complete_in_strings = 1
    "注释和字符串中的文字也会被收入补全
    let g:ycm_collect_identifiers_from_comments_and_strings = 1
    "语言关键字补全, 不过python关键字都很短,所以,需要的自己打开
    "let g:ycm_seed_identifiers_with_syntax=1
    let g:ycm_collect_identifiers_from_tags_files = 1

    " 引入,可以补全系统,以及python的第三方包
    let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"
    "直接触发自动补全
    let g:ycm_key_invoke_completion = '<C-Space>'
    openroc
        24
    openroc  
       Mar 10, 2014
    mark
    xmsai
        25
    xmsai  
       Mar 11, 2014
    请问youcompleteme如何配置能够提示全第三方库的api啊?
    我想自动补全cocos2dx的js @wklken
    xmsai
        26
    xmsai  
       Mar 11, 2014
    kehr
        27
    kehr  
       Mar 17, 2014
    @ChiangDi

    是按着官方配置来的,安装后可以正常提示自动补全。但是vim编辑保存后,控制台就开始报一串的错,没时间倒腾,就没再管它。

    @jxwho 没有研究过,第三方库的配置。看看 @wklken 的配置吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   826 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 21:06 · PVG 05:06 · LAX 14:06 · JFK 17:06
    ♥ Do have faith in what you're doing.