,曾经配置过一个类似source insight的vim编辑器,(http://blog.csdn.net/linuxandroidwince/article/details/74202412)默认对C,C++语言是支持的,只是不支持golang,下面介绍下如果打造一个vim-go的编辑器,类似source insight,自动补齐等等, 我使用的是ubuntu16.04 LTS 32bits。
##下载安装GoLang
写博时,官方稳定版本是1.8,下载的是linux 32bits的。
https://golang.org/dl/
下载后直接解压到/usr/local/go下面即可,解压到其他path也可以,没有特别指定,只是习惯而已,比如解压到$HOME/go。
##配置环境变量
可以将下面内容复制到/etc/profile,也可以复制到~/.profile
# go path
export GOROOT=/usr/local/go
export GOARCH=386
export GOOS=linux
export GOPATH=/home/jack/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin:$GOBIN
下面安装的一些go工具,如果配置了GOBIN这个变量,都会安装到这个目录下,如果没有配置这个变量,默认可执行文件放在各自GOPATH目录的bin文件夹中。
运行一下go命令,如果显示go命令的Usage,说明已经安装配置成功,或者go version看到版本信息,也说明安装成功。
##hello GoLang
写一段程序测试下:摘抄于官网
// You can edit this code!
// Click here and start typing.
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
$go run test.go
Hello, 世界
准备配置vim-go
由于配置vim-go,需要安装一些go .tools binaries,这些工具默认会安装在$GOBIN下面。安装这些工具需要一些辅助工具,比如分布式版本控制系统Mercurial。
在 Ubuntu 下快速的最新版的安装Mercurial, 其实只要几条命令就可以搞定了.
$sudo add-apt-repository ppa:tortoisehg-ppa/releases
$sudo add-apt-repository ppa:mercurial-ppa/releases
$sudo apt-get update
$sudo apt-get install mercurial python-nautilus tortoisehg
安装git, vim:
$sudo app-get install git
$sudo app-get install vim
安装ctags-exuberant,这个工具,后面很多插件会用到,tagbar, nerdtree, gotags等。
$sudo app-get install exuberant-ctags
$ctags-exuberant --version
Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert
$ ctags-exuberant --list-languages //查看支持那些语言
......
Flex
Fortran
Go
HTML
Java
......
另外,配置YCM时,由于YCM用到了C++实现性能上的优化,所以需要安装C++的编译环境:
$sudo apt-get install build-essential cmake python-dev
##插件管理工具vundle
vim-go官方提到两种插件管理工具,除vundle还有pathogen,只是选择vundle的比较多,我这里也以vundle为例介绍。
####安装Vundle.vim
$mkdir ~/.vim/bundle
$git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
后面安装的plugin都安装在~/.vim/bundle下面。
####配置~/.vimrc文件以支持plugin的安装
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
保存.vimrc退出,在bash下输入vim命令回车,在命令行模式下输入 :PluginInstall回车,这时在窗口底部会看到Processing ‘gmarik/Vundle.vim’,表示正在从网络下载这个插件,等底部显示Done!即表示下载成功,这时退出vim,到~/.vim/bundle下可以看到多了一个vundle的path。
##安装vim-go插件
编辑~/.vimrc,在vundle#begin和vundle#end间增加一行:
Plugin 'fatih/vim-go'
在Vim内执行 :PluginInstall, 窗口下方会提示:Processing ‘fatih/vim-go’, 待下载安装完毕后,提示信息变 成“Done!”
##安装go.tools Binaries
vim-go安装说明中提到所有必要的binary需要先安装好,比如gocode、godef、goimports等.
通过:GoInstallBinaries,这些vim-go依赖的二进制工具将会自动被下载,并被安装到 G O B I N 下 或 GOBIN下或