IDEA 打开得太慢了,我需要一款轻量级的 IDE,不想装其他乱七八糟的编译器咋办?搞事情!
sublime
sublime 通过简单的配置后可以实现 java 代码的高亮提示和编译功能,并且大多编译错误也能基本上精确到行。
然而 sublime 内置的终端无法输入,虽然在日常的算法中输入操作很少涉及,, 但还是很不爽。
Vim
这里需要一定的 Vim 基础,新手请执行 vimtutor
查看 Vim 官方教程,再继续往后看。
在终端通过 java 命令即可实现 java 代码的编译与运行。
vim 不过起到的是编辑器的作用。
对于编辑器我们不仅有高亮的基本要求,同样也需要基本的代码补全功能, Vim 的 YCM 插件能较好的实现代码补全功能。
下面介绍通过 vim 的 vim-plug 插件管理器 来安装 YCM 。
预备工作
1 2
| xcode-select --install brew install cmake vim
|
vim-plug 安装
junegunn/vim-plug
1 2
| curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
安装 YCM
YCM Github
下载
YCM 可通过 vim-plug 下载,而安装使用则需要进一步的编译。
在 .vimrc 文件中添加 Plug 'Valloric/YouCompleteMe'
再执行 :PluginInstall 即可。
编译
YCM 基于 cmake 进行编译的,所以在安装之前如下命令先通过 brew 安装 cmake。
1 2
| cd ~/.vim/plugged/YouCompleteMe python3 ./install.py --java-completer
|
请使用 python3 。
安装好之后,由于我的 python3 缺乏很多依赖性,通过以下命令检验 python 所缺乏的依赖。
1 2
| cd ~/.vim/plugged/YouCompleteMe/third_party/ycmd cp ycmd/default_settings.json . & python3 ycmd --options_file default_settings.json
|
如果输出如下,是 python 环境的问题考虑重启然后重装:
1
| [1] 8629 segmentation fault python3 ycmd --options_file default_settings.json
|
若有如下报错:
1 2
| ModuleNotFoundError: No module named 'bottle' ModuleNotFoundError: No module named 'waitress'
|
逐句执行 pip3 install bottle
pip3 install waitress
即可解决。
如果显示是:
1
| No module named 'ycm_core'
|
是没有问题的
YCM 安装 C-family 的自动补全
编译安装
1 2
| cd ~/.vim/plugged/YouCompleteMe python3 ./install.py --clang-completer
|
安装 ycm-gennerator
1
| Plugin 'rdnetto/YCM-Generator'
|
1
| python3 .ycm_extra_conf.py ~/.vim/plugged/YouCompleteMe/third_party/ycmd
|
在 ~/.vimrc 中添加
1
| let g:ycm_global_ycm_extra_conf = '~/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py'
|
go 语言
1 2
| cd ~/.vim/plugged/YouCompleteMe python3 ./install.py --go-completer
|
其他语言参数
- C family support:
python3 ./install.py --clang-completer
- C# support:
python3 ./install.py --cs-completer
(install Mono with Homebrew or by downloading the Mono macOS package ) - Go support:
python3 ./install.py --go-completer
- JavaScript and TypeScript support:
python3 ./install.py --ts-completer
- Rust support:
python3 ./install.py --rust-completer
- Java support:
python3 ./install.py --java-completer
更新
或
1 2 3 4 5
| cd ~/.vim/plugged/YouCompleteMe git clean -f git pull git submodule update --recursive --init ./install.py --go-completer
|
错误解决
升级 catalina 后 brew 安装的 python3 执行异常,解决方案如下:
My application crashed with invalid load of lib… |Apple Developer Forums
1 2 3 4 5 6 7 8 9
| #!/bin/zsh brew update & brew upgrade & brew install openssl cd /usr/local/Cellar/openssl/1.0.2t/lib sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/local/lib/ cd /usr/local/lib mv libssl.dylib libssl_bak.dylib mv libcrypto.dylib libcrypto_bak.dylib sudo ln -s libssl.1.0.0.dylib libssl.dylib sudo ln -s libcrypto.1.0.0.dylib libcrypto.dylib
|