1.brew install vim2.安装vundle插件管理器3.安装youcomplete插件
我的vim是有提示了,但是提示的都是当前脚本内的一些字符. 并不提示系统库函数,或者其他的自动输入。而且按tab键也不能补全。
走同样的路,发现不同的人生
YCM 对于clang的补全需要依赖clang++ 3.70及以上的版本。另外补全不一定是tab, 你得看看.vimrc怎么设置的,我的是ctrl + j或者k进行选择
YCM
clang
clang++ 3.70
tab
ctrl + j或者k
如果都安装好了的话,那你打开vim之后,使用Vundle看看是不是安装成功,如果成功的话,那可能是配置问题了,下面是我本机的YCM在vimrc.bundle的配置: 看看是不是有帮助?
vim
Vundle
" 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, \} " }}}
YCM
对于clang
的补全需要依赖clang++ 3.70
及以上的版本。另外补全不一定是tab
, 你得看看.vimrc怎么设置的,我的是ctrl + j或者k
进行选择如果都安装好了的话,那你打开
vim
之后,使用Vundle
看看是不是安装成功,如果成功的话,那可能是配置问题了,下面是我本机的
YCM
在vimrc.bundle的配置: 看看是不是有帮助?