Linux安装Vim最复杂插件:YouCompleteMe |
您所在的位置:网站首页 › Ubuntu安装vim9 › Linux安装Vim最复杂插件:YouCompleteMe |
目录 第一步:下载YouCompleteMe源码 第二步:拉取YouCompleteMe中的子git库源码 第三步:预先安装YouCompleteMe依赖库 1、安装python3、python3-dev 2、安装高于Vim 7.4的版本 3、安装cmake 4、安装 LLVM 7.0.1 第四步:保证gcc、g++支持c++17 第五步:正式开始编译YouCompleteMe YouCompleteMe安装概述 YouCompleteMe 是vim的自动补全插件。补全效果虽远不如商业IDE,但也勉强可用。可以让vim“活起来”。 但YouCompleteMe的安装非常困难,难点有二: 1:YouCompleteMe源码由多个git库拼接而成,均托管在github上。如果你所在的网络屏蔽了github,或者访问github极慢,那么除了拷贝朋友事先下载的完整包以外,就只能放弃安装YouCompleteMe了。 2:YouCompleteMe依赖安装包比较多,并且对安装包版本也有要求。如果你将安装的机器处于公司内网,很有可能root权限是关闭的,这就意味着linux系统下的自动安装命令apt-get、yum均不能使用。况且,如果自动安装命令源中的安装包版本不符合YouCompleteMe要求,就需要你手动寻找安装包版本。 鉴于在有root权限、可顺畅访问github情况下的安装极为简单,所以此篇文章重点叙述如何在无root权限、不可访问github的情况下安装YouCompleteMe。 第一步:下载YouCompleteMe源码首先,假定你的vim已经用bundle维护vim插件。 如果你可以流畅访问github,那么此步骤就非常简单: 打开.vimrc文件,增加一行 Plugin 'Valloric/YouCompleteMe' 保存。 打开vim,执行命令 :PluginInstall 下载YouCompleteMe源码。 如果不能流畅访问github,可以去Gitee - 基于 Git 的代码托管和研发协作平台 寻找别人最近fork的YouCompleteMe源码,直接git clone 即可。gitee是国内代码托管网站,不存在访问限制。 第二步:拉取YouCompleteMe中的子git库源码YouCompleteMe由多个git库组装而成,完成下载源码后,首先就要同步下载每个子git库源码: git clone --recursive 迈克尔盖伦/YouCompleteMe 注意:此命令会拉取每个git库的最新代码。子git库依然会访问github,如果提示无法访问错误,可先行忽略。 完成所有git库同步后,需要执行以下命令以确认完整性: git submodule update --init --recursive 第三步:预先安装YouCompleteMe依赖库YouCompleteMe直接依赖四个软件: Vim 7.4+ python3-dev cmake LLVM 7.0.1 1、安装python3、python3-dev两者不是同一事物。如有root权限,就直接用apt、yum安装即可。如果没有,就需要下载源码单独编译,登上另一个痛苦旅途。 2、安装高于Vim 7.4的版本不能使用apt、yum安装,因为默认的vim版本不支持python3,而YouCompleteMe需要vim支持python3。 个人测试发现,如果安装python3.10、3.11版本,vim配置脚本就不会正常识别,会识别成3.1,导致最终链接失败。所以建议使用3.9、3.8之类的版本。 建议使用vim 8.2版本源码,配置如下: ./configure --with-features=huge --prefix=/home/odin/fengxiuwei --with-python3-command=python3 --enable-multibyte --enable-python3interp=yes #支持python3 ,必须 --enable-cscope --enable-gui=auto --enable-gtk2-check --enable-fontset --enable-largefile --disable-netbeans --enable-fail-if-missing 3、安装cmakecmake版本必须要高于3.14,建议使用3.23的二进制包 4、安装 LLVM 7.0.1直接将对应系统的二进制包替换到对应的bin、lib目录即可。 http://releases.llvm.org/7.0.1/clang+llvm-7.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz 第四步:保证gcc、g++支持c++174.8.5版本gcc、g++是不支持c++17的,需要升级到10.3.0 。 如果apt、yum没有对应版本,就需要手动编译安装gcc、g++,另外还需要手动编译安装glibc库。 安装gcc详见另一篇博客:linux系统下编译安装gcc库_无码散人的博客-CSDN博客 注意:gcc、g++、glibc是系统基础库,千万不要替换系统默认版本,即/usr目录下的lib。要单独建立bin、lib。如若不然,你的操作系统就会直接崩溃,无法使用,切记切记!!! 第五步:正式开始编译YouCompleteMe顺利安装以上依赖软件后,就可以编译安装YouCompleteMe了。执行以下命令即可: 编译需要支持c++17的新g++,所以需要将新g++所在的目录,包括lib,加到环境变量中: export PATH=/home/temp_usr/bin:$PATH export LD_LIBRARY_PATH=/home/temp_usr/lib:$LD_LIBRARY_PATH cmake编译需要明确指定CC、CXX环境变量,按照如下设置,指向新gcc、g++: export CC=/home/temp_usr/bin/gcc export CXX=/home/temp_usr/bin/g++ 开始编译YouCompleteMe: python3 install.py --all 或者 ./install.sh --all 参数 all表示编译所有语言的支持,默认选项 参数clang表示只支持c家族语言 到此,安装YouCompleteMe的所有步骤已完成,你将可以享受苦难的成果了。 个人建议,只要有其他IDE可用,就不要想着安装这个插件。安装复杂是其一,补全效果太低级是其二。 另外,cscope配置关键如下: cscope号称增强版ctags,可以在字符界面的终端中提供通用的、基本的IDE功能。 使用比较简单。 首先,建议将需要查找的代码文件筛选出来,放到特定文件中,如:cscope.files 然后用cscope基于cscope.files文件生成符号索引: cscope -kq -i cscope.files -C 另外,cscope使用EDITOR环境变量来决定调用哪个编辑器,默认是:/usr/bin/vim 。 如果你想要在cscope中使用新的vim,就需要明确修改EDITOR环境变量。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |