YouCompleteMe的安装及配置(一):使用clangd进行语义的补全

安装好vim后及插件管理器

前提:安装了python3.6以上的版本,否则无法执行install.py脚本,最新版本的YCM插件需要vim支持python3

1、进入插件目录:cd ~/.vim/bundle

2、下载ycm:https://github.com/ycm-core/YouCompleteMe.git

3、更新依赖模块:git submodule update --init --recursive

4、安装:./install.py --clanged-completer   # --all  安装所有的补全(目前最新版本的YCM已经不需要额外下载llvm+clang来编译了),编译完成后的结果如下图所示:

     

比以前方便了很多,clang已经放到了.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/clangd/output目录了,并且已经启用了,不用再配置复杂的.ycm_extra_conf.py文件了

关于YCM的说明、配置都在:https://github.com/ycm-core/YouCompleteMe#c-family-semantic-completion

你可以找到任何关于ycm的信息,不过可能需要花一点时间。

5、.vimrc的配置:

     

    Plugin 'Valloric/YouCompleteMe'
        let g:ycm_key_list_select_completion=['<c-n>']
        let g:ycm_key_list_previous_completion=['<c-p>']

        let g:ycm_confirm_extra_conf=0 "关闭加载.ycm_extra_conf.py提示
        let g:ycm_collect_identifiers_from_tags_files=1 " 开启 YCM 基于标签引擎
        let g:ycm_min_num_of_chars_for_completion=1 " 从第1个键入字符就开始罗列匹配项
        let g:ycm_cache_omnifunc=0 " 禁止缓存匹配项,每次都重新生成匹配项

        let g:ycm_seed_identifiers_with_syntax=1 " 语法关键字补全
         nnoremap <F5> :YcmForceCompileAndDiagnostics<CR> "force recomile with syntastic
        "nnoremap <leader>lo :lopen<CR> "open locationlist
        "nnoremap <leader>lc :lclose<CR>    "close locationlist

        "inoremap <leader><leader> <C-x><C-o>
        let g:ycm_complete_in_comments = 1 "在注释输入中也能补全
        let g:ycm_complete_in_strings = 1 "在字符串输入中也能补全
        let g:ycm_collect_identifiers_from_comments_and_strings = 0 "注释和字符串中的文字也会被收入补全

        let g:ycm_max_num_identifier_candidates = 50
        let g:ycm_auto_trigger = 1

        let g:ycm_error_symbol = '>>'
        let g:ycm_warning_symbol = '>'


        "highlight Pmenu ctermfg=4 ctermbg=0 guifg=#ffffff guibg=#000000  "提示不再是粉红色(pink)
        highlight Pmenu ctermfg=4 ctermbg=8 guifg=#ffffff guibg=#000000  "提示不再是粉红色(pink)

6、效果如下:

 

 

 

 

 

7、可能的问题:

      7.1、YouCompleteMe unavailable: unable to load Python.

                安装:sudo yum install vim-gtk-syntax

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ztenv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值