搜尋

首頁  >  問答  >  主體

macos - mac vim youcomplete提示

#1.brew install vim
2.安裝vundle外掛程式管理器
3.安裝youcomplete外掛程式

我的vim是有提示了,但是提示的都是當前腳本內的一些字符. 並不提示系統庫函數,或者其他的自動輸入。
而且按tab鍵也不能補全。

怪我咯怪我咯2743 天前657

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-05-16 16:39:40

    YCM 对于clang的补全需要依赖clang++ 3.70及以上的版本。另外补全不一定是tab, 你得看看.vimrc怎么设置的,我的是ctrl + j或者k進行選擇



    如果都安裝好了的話,那你打開vim之后,使用Vundle看看是不是安装成功,如果成功的话,那可能是配置问题了,
    下面是我本机的YCM在vimrc.bundle的設定: 看看是不是有幫助?

    " 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_use_ultisnips_completer = 1 "提示UltiSnips
        let g:ycm_collect_identifiers_from_comments_and_strings = 1   "注释和字符串中的文字也会被收入补全
        let g:ycm_collect_identifiers_from_tags_files = 1
        " 开启语法关键字补全
        let g:ycm_seed_identifiers_with_syntax=1
    
        "let g:ycm_seed_identifiers_with_syntax=1   "语言关键字补全, 不过python关键字都很短,所以,需要的自己打开
    
        " 跳转到定义处, 分屏打开
        let g:ycm_goto_buffer_command = 'horizontal-split'
        " nnoremap <leader>jd :YcmCompleter GoToDefinition<CR>
        nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
        nnoremap <leader>gd :YcmCompleter GoToDeclaration<CR>
    
        " 引入,可以补全系统,以及python的第三方包 针对新老版本YCM做了兼容
        " old version
        if !empty(glob("~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"))
            let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py"
        endif
        " new version
        if !empty(glob("~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"))
            let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py"
        endif
    
        " 直接触发自动补全 insert模式下
        " let g:ycm_key_invoke_completion = '<C-Space>'
        " 黑名单,不启用
        let g:ycm_filetype_blacklist = {
            \ 'tagbar' : 1,
            \ 'gitcommit' : 1,
            \}
    " }}}
    

    回覆
    0
  • 取消回覆