引言
Vim 无疑是世界上最好用的编辑器之一(为了不引起战争 →_→)。在广大程序员用 Vim 敲代码的过程中,代码补全功能能够大大提高生产力,尤其是对于从各种 IDE 转到 Vim 的程序员来说更是福音般地存在。本文将介绍一种推荐的代码补全工具 YouCompleteMe,并且一步步介绍它的安装方式。
YouCompleteMe
YouCompleteMe 是一个比较完备,并且正在日渐完备的 Vim 代码补全插件。它的功能十分强大,支持自动补全的语言包括:
- C/C++/Objective-C/Objective-C++ (基于 Clang)
- Python (基于 Jedi)
- C# (基于 OmniSharp)
- Go (基于 GoCode)
- 其他 Vim 的 omnicomplete system 支持的语言,比如 (Ruby, PHP 等)
先上一张作者给的 demo 效果图。
安装
接下来介绍安装过程。
确定 Vim 版本满足支持
如果你用的是 Mac OS X 自带的 vim 的话,那么肯定是不能满足需求的。首先,需要升级 vim。这里建议安装 macvim,当然 vim 的官网也是这么推荐的。推荐使用 brew 来安装。
- MacVim 依赖 Xcode,首先需要在 App Store 中安装 Xcode。如果是全新安装的 Xcode,请打开一次,并且同意 license。
-
使用 brew 安装 MacVim
bash
brew install macvim
-
使用 MacVim 替换系统自带的 Vim,在当前 shell 的配置文件中添加
bash
alias vim='mvim -v'
安装 Vundle
Vundle (缩写自 Vim bundle
) 是一个很方便的 Vim 插件管理器。它的使用方法很简单,安装一个插件只需要在 .vimrc
按照规则中添加 Plugin 的名称,某些需要添加路径,之后在 Vim 中使用 :PluginInstall
既可以自动化安装。具体的使用过方法详见官网。
下面将介绍 Vundle 的安装及基本配置。
-
使用 git 克隆 Vundle 工程到本地。
bash
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
-
修改
.vimrc
配置 Plugins。在.vimrc
文件中添加如下内容。set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'gmarik/Vundle.vim' call vundle#end() filetype plugin indent on
安装 YouCompleteMe
接下来将要安装的是我们的主角,YouCompleteMe。解决了上面的依赖软件之后,安装它将变得非常简单。
-
在
.vimrc
中添加如下内容。位置在call vundle#begin()
和call vundle#end()
之间。Bundle 'Valloric/YouCompleteMe'
-
编译 YouCompleteMe
首先说明,编译过程需要
CMake
,可以使用brew
来安装。bash
brew install CMake
- 带 C-family languages 语义支持的版本
bash
cd ~/.vim/bundle/YouCompleteMe ./install.sh --clang-completer
- 不带 C-family languages 语义支持的版本
bash
cd ~/.vim/bundle/YouCompleteMe ./install.sh --clang-completer
- 带 C# 语义支持的版本
bash
cd ~/.vim/bundle/YouCompleteMe ./install.sh --omnisharp-completer
- 带 Go 语言语义支持的版本
bash
cd ~/.vim/bundle/YouCompleteMe ./install.sh --gocode-completer
完成
至此,我们已经拥有了 YouCompleteMe 这款自动补全神器。请尽情享用。
Just enjoy it !
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。