`
fishermen
  • 浏览: 377612 次
社区版块
存档分类
最新评论

vim插件YouCompleteMe

 
阅读更多

vim开发中代码补全插件太弱(OmniCppComplete等),当看到YouCompleteMe的介绍,被其强大折服,决定改用YouCompleteMe。

 

一 安装

       

1 安装python(7.5)

./configure --prefix=/usr/local --enable-share CFLAGS=-fPIC
make 
sudo make install

 

2 获取vim74并安装

编译安装vim74 可以参考 https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source,但里面有个关于perl的坑,后面说。

 

2.1下载 vim-7.4.tar.bz2 并安装

2.2 安装

./configure --with-features=huge --enable-rubyinterp --enable-pythoninterp --with-python-config-dir=/usr/local/bin/python2.7-config --enable-perlinterp --enable-gui=gnome --enable-cscope --enable-luainterp --prefix=/usr/local  

make VIMRUNTIMEDIR=/usr/local/share/vim/vim74

报错:

/usr/bin/perl -e 'unless ( $] >= 5.005 ) { for (qw(na defgv errgv)) { print "#define PL_$_ $_\n" }}' > auto/if_perl.c
/usr/bin/perl /usr/share/perl5/ExtUtils/xsubpp -prototypes -typemap \
	    /usr/share/perl5/ExtUtils/typemap if_perl.xs >> auto/if_perl.c
Can't open perl script "/usr/share/perl5/ExtUtils/xsubpp": 没有那个文件或目录
make[1]: *** [auto/if_perl.c] 错误 2
make[1]: Leaving directory `/home/fishermen/soft/program/vim74/src'
make: *** [first] 错误 2

 

看来perl5 的ExtUtils缺dd,yum search查查:

yum search perl |grep ExtUtils
perl-ExtUtils-CBuilder.x86_64 : Compile and link C code for Perl modules
perl-ExtUtils-Embed.x86_64 : Utilities for embedding Perl in C/C++ applications
perl-ExtUtils-MakeMaker-Coverage.noarch : Allows perl modules to check test
perl-ExtUtils-ParseXS.x86_64 : Module and a script for converting Perl XS code
perl-ExtUtils-MakeMaker.x86_64 : Create a module Makefile

继续安装 perl-ExtUtils-Embed了,do:

sudo yum install perl-ExtUtils-Embed

重复执行2.2,应该可以成功了。

 

3 安装YCM

利用vundle安装YouCompleteMe,然后在YouCompleteMe执行:

 

Linking CXX shared library /home/fishermen/.vim/bundle/YouCompleteMe/python/ycm_core.so
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld 返回 1
make[3]: *** [/home/fishermen/.vim/bundle/YouCompleteMe/python/ycm_core.so] 错误 1
make[2]: *** [ycm/CMakeFiles/ycm_core.dir/all] 错误 2
make[1]: *** [ycm/CMakeFiles/ycm_core.dir/rule] 错误 2
make: *** [ycm_core] 错误 2

 ./configure CFLAGS=-fPIC CPPFLAGS=-fPIC --enable-shared

make; sudo make install;

好了YCM的install脚本通过,但是打开vim报clang的错,clang需安装。

 

4 安装CLang支持

参考

http://www.cnblogs.com/waterlin/archive/2011/07/14/2106056.htmlwo

由于我在虚拟机上安装,单cpu,编译了近5个小时

 

5 安装YCM_CORE

启动vim,可能会报ycm若干函数找不到,或者报"ycm_core too old",这个时候你需要安装ycm_core

方法:

cd ~
mkdir ycm_build
cd ycm_build
cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=/usr/local ~/.vim/bundle/YouCompleteMe/cpp/
make ycm_core

 到此,YCM安装完毕。

 

二 使用小结

 

1 自动提示系统头文件

 在.ycm_extra_conf.py 的flags中增加如下路径:

'-isystem',
'/usr/include',
'-isystem',
'/usr/local/include',

 

2 设置vi默认使用的ycm配置

在.vimrc中增加如下配置:

let g:ycm_global_ycm_extra_conf = 'xxxxx/xxxxx/.ycm_extra_conf.py'

 

 

分享到:
评论

相关推荐

    Ubuntu 16.04 LTS vim配置与插件(含YouCompleteMe)

    在这里分享我的有关vim的所有配置与插件(含自动补全插件YouCompleteMe),图省事、不想边安装边的朋友可以直接尝试下,不保证不会出现任何问题。注意:该配置文件解压后,请在root模式下复制至root根目录下,如果...

    clangd/libclang-11.0.0-x86_64-unknown-linux-gnu.tar.bz2

    总结一下,这个压缩包包含的两个子文件是用于Vim插件YouCompleteMe的关键依赖。libclang是Clang库,为YouCompleteMe提供底层的语法解析能力,而Clangd则是一个独立的服务,通过LSP与其他编辑器或IDE通信,实现类似的...

    vim插件-linux使用

    安装Vim插件的方法有很多,比如手动下载、使用Vundle、Pathogen、NeoBundle 或者最新的 Vim-Plug 等工具。以 Vim-Plug 为例,你需要先将 Vim-Plug 的源代码添加到 `.vim/autoload` 目录,然后在 `.vimrc` 中加入以下...

    vim插件,IC工程师常用

    这个压缩包文件包含了IC工程师在日常工作中可能会经常使用的vim插件集合,旨在提高代码编写、调试和分析的效率。 1. **Vim基础知识**:首先,了解Vim的基本操作是使用任何插件的前提。Vim有三种模式:正常模式、...

    vim插件集合和配置

    本文将深入探讨“vim插件集合和配置”,以及如何覆盖~目录下的相应文件。 ### Vim 插件的重要性 在编程世界中,Vim的插件能帮助我们实现代码高亮、自动补全、语法检查、文件浏览、版本控制集成等多种功能。这些...

    vim插件

    Vim插件是增强Vim功能的重要方式,通过安装不同的插件,用户可以定制编辑器以满足个人工作流需求,提高开发效率。 Vim插件的生态系统非常丰富,涵盖了各种语言的语法高亮、代码补全、项目管理、文件浏览器、括号...

    .ycm_extra_conf.py

    vim插件YouCompleteMe的外部配置文件,经过修改,可以支持头文件自动补全。

    vim插件 很经典的

    Vundle 是 Vim 的插件管理器,使得安装、更新和卸载 Vim 插件变得极其简单。只需在 .vimrc 文件中添加插件的 GitHub 仓库地址,然后运行 `:VundleInstall` 命令即可。Vundle 还允许用户按需加载插件,提高 Vim 启动...

    vim常用插件配置说明

    本篇将详细介绍四个常用的Vim插件:Vundle、youCompleteMe、NERDTree以及Vim-Jinja2-Syntax,以及它们如何安装和使用。 ### **一、Vundle(插件管理器)** Vundle是Vim中最受欢迎的插件管理器之一,它允许用户轻松...

    非常实用的vim插件及vimrc包

    在这个“非常实用的vim插件及vimrc包”中,包含了作者多年使用Vim的经验和精心挑选的配置。 首先,`_vimrc` 和 `vimrc` 文件是Vim的配置文件。`.vimrc` 是Vim启动时读取的配置脚本,用于设定各种快捷键、选项和行为...

    7款优秀Vim插件帮你打造完美IDE.rar

    以下将详细介绍标题和描述中提到的7款优秀Vim插件,以及它们如何帮助你打造完美的IDE。 1. **NERD Tree** NERD Tree是Vim的一个文件系统浏览器,它允许用户在左侧窗口中方便地浏览项目结构,快速打开、关闭、创建...

    vim-plug, 我的vim插件, 基于vim-plug安装.zip

    Vim-plug是一个轻量级且高效的 Vim 插件管理器,它允许用户方便地安装、更新和管理各种Vim插件。这个压缩包“vim-plug, 我的vim插件,基于vim-plug安装.zip”包含了Vim-plug的源代码,这将帮助你了解如何在你的Vim...

    vim的插件安装,配置教程

    本教程将指导你如何安装并配置Vim插件,让你的Vim变得更为智能,提升编程效率。 首先,了解Vim插件的基础知识至关重要。Vim插件通常是一些脚本文件,它们扩展了Vim的功能,比如代码高亮、自动补全、文件浏览器、...

    vim插件大全

    在这个"vim插件大全"的压缩包中,包含了众多用于增强Vim功能的插件,使编辑、代码补全、项目管理等任务变得更加高效便捷。 1. **代码补全插件**:这些插件如`YouCompleteMe`、`neocomplete`或`SuperTab`,能够帮助...

    vim自动补全插件YouCompleteMe(YCM)安装过程解析

    **vim自动补全插件YouCompleteMe(YCM)安装过程详解** Vim作为一个高度可拓展的文本编辑器,可以通过各种插件提升其功能。在编程过程中,代码补全功能能够极大地提高开发效率,YouCompleteMe(简称YCM)是Vim用户中...

    我的全能Vim插件及配置

    在“我的全能Vim插件及配置”这个主题中,我们将深入探讨如何利用Vim的插件和个性化配置来提升编程效率。 首先,`_vimrc`文件是Vim的启动配置文件,也称为`.vimrc`或`_vimrc`(根据操作系统不同,文件名可能略有...

    vim集成各种插件

    Vim插件是为Vim定制功能的小型程序,它们可以扩展编辑器的功能,如自动完成、语法高亮、代码折叠、项目管理、Git集成等。通过安装这些插件,Vim可以从一个基础的文本编辑器转变为一个功能全面的开发环境。 在Ubuntu...

    我的vim插件集

    "我的vim插件集"很可能是一个用户自定义的Vim配置集合,包含了他/她常用的一些插件,旨在提升Vim的使用体验和工作效率。 在Vim的世界里,插件是扩展其功能的关键。通过安装各种插件,我们可以让Vim具备代码高亮、...

    vim插件分类及快捷键.docx

    Vim 插件分类及快捷键 Vim 是一个功能强大且灵活的文本编辑器,插件是 Vim 的一个重要组成部分。插件可以扩展 Vim 的功能,让其更加强大和灵活。本文将对 Vim 插件分类和快捷键进行分类和介绍。 一、插件分类 ...

    linux 下vim 插件及配置文件

    安装Vim插件通常需要借助于管理器,如Vundle、Pathogen或 dein.vim。以Vundle为例,首先在`.vimrc`配置文件中添加插件仓库地址,然后在命令模式下运行`:PluginInstall`,即可安装所有列出的插件。 配置文件`.vimrc`...

Global site tag (gtag.js) - Google Analytics