YCM(一只穿云箭,千军万马来相见)

一 YCM

传说中有那么一个插件,它诞生时惊天地泣鬼神,无数插件无不五体投地,说起那天,哎呀那家伙,我就不说了。

YCM(YouCompleteMe)vim代码自动补全插件,在VIm中也有补全功能,(<C-P>能够进行基于文本的补全)但vim毕竟作为一个编辑器,其补全功能只是基于文本的。

  • 基于文本的补全: 其通过文本进行一些正则表达式的匹配,再根据生成的tags(利用ctags生成)来实现自动补全的效果。
  • 基于语义的补全:顾名思义,其是通过分析源文件,经过语法分析以后进行补全。由于对源文件进行分析,基于语义的补全可以做到很精确。但是这显然是vim所不可能支持的。而且经过这么多年发展,由于语法分析有很高的难度,也一直没有合适的工具出现。直到,由apple支持的clang/llvm横空出世。YouCompleteMe也正是在clang/llvm的基础上进行构建的。

二 为了装上这插件我的代价

1.耽搁了将近一天时间。
2.将自己的home家目录误删,现在都不知道是重装系统还是怎么恢复。(我工程实践的项目也没有了,后天就要答辩了,我也很绝望呀!可还是要保持微笑)

先放图

补全

Screenshot from 2017-06-29 18-33-08.png

其自带代码检查

Screenshot from 2017-06-29 18-39-22.png

三 安装

话不多说,直接给官方地址,YCM.(请以官方安装步骤为主,我这里只是给点我安装参考)

  • 需要的工具 cmake Vundle(vim 管理插件工具)vim(版本需要7.4以上,不必担心,现在基本都是8.0) Python3或者Python
  • 而如何看自己的信息呢?
    vim --version
    如果有 +Python 或者+Python3 的字样说明支持 同时也可以查看到自己vim的版本
  1. 将下面这句添加到~/.vimrc中 , 然后sudo vim 进入vim中 :PluginInstall 安装插件(这是Vundle 中装插件的方法,可以先去了解一下Vundle) 执行完之后,在~/.vim/Vundle中应该有个YouCompleteMe的文件,一般的插件到这里基本就成功了, 但YCM不同与一般的插件 , 他需要编译 。
    Plugin 'Valloric/YouCompleteMe'
  2. 我需要C家族的语义补全,安装官方建议,从官方下载二进制文件,地址 ,因为我是Ubuntu发行版 , 所以我选择了这个
    Screenshot from 2017-06-29 19-16-18.png
  3. 下载成功后将里面的东西解压到~/ycm_temp/llvm_root_dir (这个目录需要自己建)可以看见成功后有如下图所示结构:


    Screenshot from 2017-06-29 19-20-51.png
  4. 利用cmake产生makefile文件
    sudo apt-get install cmake(如果没有cmake请安装,这是ubuntu的安装方式)
    sudo apt-get install python-dev python3-dev(这个也一起装了,虽然我也不是很懂)
    $ mkdir ~/.ycm_build $ cd ~/.ycm_build(创建目录存放编译文件,并且cd到刚刚创建的目录,后面的两个命令都是在这个目录下输入的)
    cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp(注意在稍微长了点哈, 但没毛病,可以看见他将llvm-root的路径设为我们刚刚得到的我目录,里面有我们从网上下载的东东)
    cmake --build . --target ycm_core --config Release
  5. 官网上的教程似乎到此为止之了,但好像仍需要配置一下。
    $ cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/
    复制配置文件 , 每当打开一个项目的时候,他会自上的搜索配置文件,所以我们放到根目录下,总会搜索到了。
“ ~/.vimrc
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'

在配置文件里加上这两句。

参考

一步一步带你安装史上最难安装的 vim 插件 —— YouCompleteMe(这位没有下载官网建议的二进制包,而是自己下载的libclang,)
Vim智能补全插件YouCompleteMe安装
可以参考一下,但是毕竟时间间隔有点久,可能会有点错误。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,332评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,930评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,204评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,348评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,356评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,447评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,862评论 3 394
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,516评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,710评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,518评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,582评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,295评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,848评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,881评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,121评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,737评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,280评论 2 341

推荐阅读更多精彩内容