vim安装YouCompleteMe 插件,Vim自动补全神器–YouCompleteMe。

jackxiang 2015-3-24 11:02 | |
背景:有人对vim+ctag有意见,于是有人就说这个玩意好了。

YouCompleteMe的特别之处
基于语义补全

  总所周知,Vim是一款文本编辑器。也就是说,其最基础的工作就是编辑文本,而不管该文本的内容是什么。在Vim被程序员所使用后,其慢慢的被肩负了与IDE一样的工作,文本自动补全(ie.acp,omnicppcompleter),代码检查(Syntastic)等等工作。

  针对文本自动补全这个功能来说,主要有两种实现方式。

    基于文本

  我们常用的omnicppcompleter,acp,vim自带的c-x, c-n的实现方式就是基于文本。更通俗的说法,其实就是一个字:


  其通过文本进行一些正则表达式的匹配,再根据生成的tags(利用ctags生成)来实现自动补全的效果。

    基于语义

  顾名思义,其是通过分析源文件,经过语法分析以后进行补全。由于对源文件进行分析,基于语义的补全可以做到很精确。但是这显然是vim所不可能支持的。而且经过这么多年发展,由于语法分析有很高的难度,也一直没有合适的工具出现。直到,由apple支持的clang/llvm横空出世。YouCompleteMe也正是在clang/llvm的基础上进行构建的。
整合实现了多种插件

    clang_complete
    AutoComplPop
    Supertab
    neocomplcache
    Syntastic(类似功能,仅仅针对c/c++/obj-c代码)

支持语言

    c
    c++
    obj-c
    c#
    python

  对于其他的语言,会调用vim设置的omnifunc来匹配,因此同样支持php,ruby等语言。

http://jishu.zol.com.cn/228882.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/7894/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]