之前在刚开始使用Linux系统时,需要配置一个称手的 vim 学习编程。偶然的机会,加入了 细学python QQ群,这个群给了我很多帮助和启发,谢谢。群主 阿驹 做了一个教学视频,推荐我们使用 k-vim。配置 vim,肯定少不了智能补全插件 YouCompleteMe,但是国内安装这个插件很慢,很容易安装失败,因为这个插件异常大,超过 200M。我记得很清楚,我安装了两次才成功安装好这个插件,而且耗时很久。我想应该很多人都会遇到这个问题,会很苦恼。
通过安装 k-vim 自动安装并编译 YouCompleteMe 插件,如果出现 timeout 的错误导致安装失败,根据 junegunn/vim-plug 的帮助文档,在 vim 中执行如下命令(单独安装 YouCompleteMe,这种情况下不会出现 timeout的异常):
:PlugInstall YouCompleteMe
我利用国外的 vps 定时 clone 最新的 YouCompleteMe.git,然后打包,将整个文件 YouCompleteMe.tar.gz 上传至国内的 七牛云。我们在国内下载七牛云上面的资源相当快,希望对你有所帮助。
$ wget -O ~/YouCompleteMe.tar.gz "http://ohpunyak1.bkt.clouddn.com/YouCompleteMe.tar.gz"
$ cd ~/.vim/bundle
$ tar -zxf ~/YouCompleteMe.tar.gz
如果你已经下载过一次YouCompleteMe.tar.gz了,然后想要更新压缩文件,运行下面的命令
$ wget -O ~/YouCompleteMe.tar.gz "http://ohpunyak1.bkt.clouddn.com/YouCompleteMe.tar.gz?v=1234"
这是CDN缓存引起的问题,详见关于七牛CDN缓存问题的处理方式
编译YCM,如果需要对C家族的语言进行语义补全支持(有点耗时):
$ cd YouCompleteMe
$ ./install.py --clang-completer
如果不需要对C家族的语言进行语义补全支持:
$ cd YouCompleteMe
$ ./install.py
或者使用参数 --all
添加所有的补全,包括(c/c++ c# go python php等)。
关于编译,如有疑问,请围观 YouCompleteMe 官方git仓库。
等待编译结束,然后在 vim 中重新执行如下命令:
:PlugInstall YouCompleteMe
vim 会很快提示你已经安装好 YouCompleteMe 插件。
此 git 仓库的 README.md 文件很少会更新,但是七牛云上面的 YouCompleteMe.tar.gz 会经常更新,确保与 YouCompleteMe 官方git仓库保持一致。
我的网络带宽也不算好,但是我测试了一下,下载速度还是相当令人满意:
$ wget http://ohpunyak1.bkt.clouddn.com/YouCompleteMe.tar.gz
--2016-12-06 10:03:31-- http://ohpunyak1.bkt.clouddn.com/YouCompleteMe.tar.gz
Resolving ohpunyak1.bkt.clouddn.com (ohpunyak1.bkt.clouddn.com)... 117.23.1.26, 125.64.133.135, 182.135.132.138, ...
Connecting to ohpunyak1.bkt.clouddn.com (ohpunyak1.bkt.clouddn.com)|117.23.1.26|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 143262975 (137M) [application/x-gzip]
Saving to: ‘YouCompleteMe.tar.gz’
25% [=============> ] 36,639,259 1.89MB/s eta 44s
Ps: 我只是个大自然和 YouCompleteMe 的搬运工。