Linux安装Vim最复杂插件:YouCompleteMe

您所在的位置:网站首页 Ubuntu安装vim9 Linux安装Vim最复杂插件:YouCompleteMe

Linux安装Vim最复杂插件:YouCompleteMe

#Linux安装Vim最复杂插件:YouCompleteMe| 来源: 网络整理| 查看: 265

目录

第一步:下载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、安装cmake

cmake版本必须要高于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++17

4.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