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'
相关推荐
在这里分享我的有关vim的所有配置与插件(含自动补全插件YouCompleteMe),图省事、不想边安装边的朋友可以直接尝试下,不保证不会出现任何问题。注意:该配置文件解压后,请在root模式下复制至root根目录下,如果...
总结一下,这个压缩包包含的两个子文件是用于Vim插件YouCompleteMe的关键依赖。libclang是Clang库,为YouCompleteMe提供底层的语法解析能力,而Clangd则是一个独立的服务,通过LSP与其他编辑器或IDE通信,实现类似的...
安装Vim插件的方法有很多,比如手动下载、使用Vundle、Pathogen、NeoBundle 或者最新的 Vim-Plug 等工具。以 Vim-Plug 为例,你需要先将 Vim-Plug 的源代码添加到 `.vim/autoload` 目录,然后在 `.vimrc` 中加入以下...
这个压缩包文件包含了IC工程师在日常工作中可能会经常使用的vim插件集合,旨在提高代码编写、调试和分析的效率。 1. **Vim基础知识**:首先,了解Vim的基本操作是使用任何插件的前提。Vim有三种模式:正常模式、...
本文将深入探讨“vim插件集合和配置”,以及如何覆盖~目录下的相应文件。 ### Vim 插件的重要性 在编程世界中,Vim的插件能帮助我们实现代码高亮、自动补全、语法检查、文件浏览、版本控制集成等多种功能。这些...
Vim插件是增强Vim功能的重要方式,通过安装不同的插件,用户可以定制编辑器以满足个人工作流需求,提高开发效率。 Vim插件的生态系统非常丰富,涵盖了各种语言的语法高亮、代码补全、项目管理、文件浏览器、括号...
vim插件YouCompleteMe的外部配置文件,经过修改,可以支持头文件自动补全。
Vundle 是 Vim 的插件管理器,使得安装、更新和卸载 Vim 插件变得极其简单。只需在 .vimrc 文件中添加插件的 GitHub 仓库地址,然后运行 `:VundleInstall` 命令即可。Vundle 还允许用户按需加载插件,提高 Vim 启动...
本篇将详细介绍四个常用的Vim插件:Vundle、youCompleteMe、NERDTree以及Vim-Jinja2-Syntax,以及它们如何安装和使用。 ### **一、Vundle(插件管理器)** Vundle是Vim中最受欢迎的插件管理器之一,它允许用户轻松...
在这个“非常实用的vim插件及vimrc包”中,包含了作者多年使用Vim的经验和精心挑选的配置。 首先,`_vimrc` 和 `vimrc` 文件是Vim的配置文件。`.vimrc` 是Vim启动时读取的配置脚本,用于设定各种快捷键、选项和行为...
以下将详细介绍标题和描述中提到的7款优秀Vim插件,以及它们如何帮助你打造完美的IDE。 1. **NERD Tree** NERD Tree是Vim的一个文件系统浏览器,它允许用户在左侧窗口中方便地浏览项目结构,快速打开、关闭、创建...
Vim-plug是一个轻量级且高效的 Vim 插件管理器,它允许用户方便地安装、更新和管理各种Vim插件。这个压缩包“vim-plug, 我的vim插件,基于vim-plug安装.zip”包含了Vim-plug的源代码,这将帮助你了解如何在你的Vim...
本教程将指导你如何安装并配置Vim插件,让你的Vim变得更为智能,提升编程效率。 首先,了解Vim插件的基础知识至关重要。Vim插件通常是一些脚本文件,它们扩展了Vim的功能,比如代码高亮、自动补全、文件浏览器、...
在这个"vim插件大全"的压缩包中,包含了众多用于增强Vim功能的插件,使编辑、代码补全、项目管理等任务变得更加高效便捷。 1. **代码补全插件**:这些插件如`YouCompleteMe`、`neocomplete`或`SuperTab`,能够帮助...
**vim自动补全插件YouCompleteMe(YCM)安装过程详解** Vim作为一个高度可拓展的文本编辑器,可以通过各种插件提升其功能。在编程过程中,代码补全功能能够极大地提高开发效率,YouCompleteMe(简称YCM)是Vim用户中...
在“我的全能Vim插件及配置”这个主题中,我们将深入探讨如何利用Vim的插件和个性化配置来提升编程效率。 首先,`_vimrc`文件是Vim的启动配置文件,也称为`.vimrc`或`_vimrc`(根据操作系统不同,文件名可能略有...
Vim插件是为Vim定制功能的小型程序,它们可以扩展编辑器的功能,如自动完成、语法高亮、代码折叠、项目管理、Git集成等。通过安装这些插件,Vim可以从一个基础的文本编辑器转变为一个功能全面的开发环境。 在Ubuntu...
"我的vim插件集"很可能是一个用户自定义的Vim配置集合,包含了他/她常用的一些插件,旨在提升Vim的使用体验和工作效率。 在Vim的世界里,插件是扩展其功能的关键。通过安装各种插件,我们可以让Vim具备代码高亮、...
Vim 插件分类及快捷键 Vim 是一个功能强大且灵活的文本编辑器,插件是 Vim 的一个重要组成部分。插件可以扩展 Vim 的功能,让其更加强大和灵活。本文将对 Vim 插件分类和快捷键进行分类和介绍。 一、插件分类 ...
安装Vim插件通常需要借助于管理器,如Vundle、Pathogen或 dein.vim。以Vundle为例,首先在`.vimrc`配置文件中添加插件仓库地址,然后在命令模式下运行`:PluginInstall`,即可安装所有列出的插件。 配置文件`.vimrc`...