安装YouCompleteMe时,网上有个说法是最难安装的插件。实测下来,感觉也还好吧,没传说中的那么吓人。我只测试了 Java的智能提示功能,其他的理论上都行。
先说一下总结:
- 直接按照官方文档安装即可。https://github.com/ycm-core/YouCompleteMe
- 安装难不难,下载量比较大。大部分来自github,如果你访问GitHub非常慢,那就难了。 不算环境依赖,光最终生成的
YouCompleteMe
文件夹就有1.68GB。 春节在家使用流量上网的我,心疼我的流量啊!!!。其实如果一开始就知道有这么大体积,我就不安装了。我印象中的vim插件一般就 几MB 最多几十 MB。
- 按照官方文档安装完后,我发现我的java智能提示还是不行啊!网上搜索了半天也无果。最后发现要安装JDK11,实测安装JDK8不行(官方文档中写的是JDK8),我用JDK15也不行。就是JDK 11就可以了。
这些环境是我之前配置react native开发环境时都安装好了的,所以感觉没有费事。
当时的环境配置过程记录在这里: 《2020年12月国内网络环境下macOS 搭建 React Native开发环境》
安装 YouCompleteMe我猜测大家觉得安装困难的原因可能是因为 从github下载东西比较多,网络不好的情况下比较慢。解决办法就是想办法加速github的连接,加速方法有很多,自己百度吧。我使用联通 4G的热点下载挺快的。
安装过程详细文档看这里。 https://github.com/ycm-core/YouCompleteMe
因为我只需要java相关的智能提示,所以我只记录我用到的。
安装依赖的环境brew install cmake python mono go nodejs
使用Vundle安装YCM
Vundle是一个插件管理器,使用方法自行查看。 加入以下配置。
Plugin 'ycm-core/YouCompleteMe'
macOS安装支持Python 3的Vim
macOS预安装的vim不支持Python 3,因为一些插件安装的时候是需要Python3支持的。所以要自己安装一个vim。
brew install vim
执行结果如下:
$ brew install vim
==> Downloading https://mirrors.ustc.edu.cn/homebrew-bottles/bottles/vim-8.2.2100.big_sur.bottle.tar.gz
Already downloaded: /Users/itkey/Library/Caches/Homebrew/downloads/54045ea9c6108c5555cbc882c6b79a1f86299772fa5698555a7d7a406e0290c4--vim-8.2.2100.big_sur.bottle.tar.gz
==> Pouring vim-8.2.2100.big_sur.bottle.tar.gz
🍺 /usr/local/Cellar/vim/8.2.2100: 1,960 files, 33.5MB
~ [04:11:21]
所以是安装到 /usr/local/Cellar/vim/8.2.2100
目录。 安装完成后发现,终端中执行vim还是预安装的版本的。如何才能使用我们刚才的版本的呢? 编辑~/.zshrc
增加以下:
# VIM
export VIM_HOME=/usr/local/Cellar/vim/8.2.2100/
export PATH=$PATH:$VIM_HOME/bin
# VIM End
执行 source ~/.zshrc
使环境变量立马生效。
请安装JDK11,请安装JDK11,请安装JDK11!!! 这个地方卡我有很久。 官方文档中写的JDK要求是 JDK8,我使用JDK8发现没有任何效果。 安装方法可以参考: 《2020macOS Big Sur配置Java开发环境之jdk安装》
cd ~/.vim/bundle/YouCompleteMe
python3 install.py --java-completer
我这里只要java的智能提示,如果要其他的可以python3 install.py --all
安装所有。
以下是其他语言支持选项:
C# support: install Mono with Homebrew or by downloading the Mono macOS package and add --cs-completer
when calling install.py. Go support: install Go and add --go-completer
when calling install.py. JavaScript and TypeScript support: install Node.js and npm and add --ts-completer
when calling install.py. Rust support: add --rust-completer when calling install.py. Java support: install JDK8 (version 8 required) and add --java-completer
when calling install.py.
如上插件正常运行了。
YCM强大确实强大,就是体积有点太大了。安装过程相对繁琐。把YCM安装完成,基本把各大编程语言的开发环境搭建出来了。 python,java,go,node都安装了。