开发离不开IDE,每个人的喜好各不相同,vim是一种强大的支持各种插件的IDE,相信应该有不少人推崇。最近在学习golang,砍柴就要先磨刀,下面介绍下适合golang开发的一些vim配置,大家可以根据需要选用。
一、语法高亮
网上有很多是拷贝go/misc/vim/目录方法,其实在大概是go1.4版本后包里就不再提供vim目录了,这是一个比较久远的方案,不建议使用。我本次介绍的是装vim-go方案。
下载插件等都是github上,请大家首先设置好代理,否则下面的有些步骤会失败。
首先装一个vim插件管理工具:vim-pathogen,已经装过的可以省略此步骤。
1、在~/.vim目录下创建两个目录:autoload和bundle
2、到autoload目录下载pathogen插件
git clone https://github.com/tpope/vim-pathogen.git
3、编辑~/.vimrc,加入两行
"插件管理工具
execute pathogen#infect()
filetype plugin indent on
4、重启vim
安装vim-go
1、到bundle目录下载vim-go插件
git clone https://github.com/fatih/vim-go.git
2、用vim打开文件,使用vim-go带的命令 :GoInstallBinaries自动安装go开发所需相关工具,会出现如下图所示界面
vim-go: gogetdoc not found. Installing github.com/zmb3/gogetdoc to folder /home/xxx/project/go/bin/
vim-go: godef not found. Installing github.com/rogpeppe/godef to folder /home/xxx/project/go/bin/
vim-go: gocode not found. Installing github.com/nsf/gocode to folder /home/xxx/project/go/bin/
vim-go: goimports not found. Installing golang.org/x/tools/cmd/goimports to folder /home/xxx/project/go/bin/
Press ENTER or type command to continue
3、编辑~/.vimrc,加入一行
syntax on "代码高亮
4、重启vim,查看代码高亮
5、发现这个配色方案眼睛会瞎掉,提供一个我喜欢的配色方案,编辑~/.vimrc,加入一行
colorscheme koehler
6、重启vim,查看代码高亮,舒服多了
7、但是又发现了问题,函数名等不能识别高亮,编辑~/.vimrc,加入几行
let g:go_highlight_functions = 1
let g:go_highlight_methods = 1
let g:go_highlight_structs = 1
let g:go_highlight_operators = 1
let g:go_highlight_build_constraints = 1
二、代码提示
1、下载gocode,进入 $GOPAH/src 目录下
go get github.com/nsf/gocode
2、进入github.com/nsf/gocode目录下,编译
[xxx@boxdev01v ~/project/go/src/github.com/nsf/gocode]$ go build
[xxx@boxdev01v ~/project/go/src/github.com/nsf/gocode]$ go install
3、以上会生成一个gocode的可执行文件,并被放到$GOPATH/bin 目录下
4、在bundle目录下载vim-gocode
git clone https://github.com/Blackrush/vim-gocode.git
5、查看你的$HOME/.profile,确保go的环境变量GOROOT、GOPATH、PATH都设置的没问题,然后加上
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOBIN=$GOPATH/bin
6、设置 gocode的快捷键,编辑~/.vimrc
imap <F8> <C-x><C-o> "go代码提示
7、编辑代码时按F8,效果如下
三、语法检查、自动格式化
安装完vim-go,在保存时也支持了语法检查和自动格式化
四、目录树
1、因为我们之前安装了插件管理工具pathogen,只要到bundle目录下载目录树插件NERDTree,就可以自动安装
git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree
2、启动vim,输入:NERDTree查看效果
3、编辑~/.vimrc,增加目录树默认开启和开关快捷键
autocmd VimEnter * NERDTree "默认开启目录树
map <F6> :silent! NERDTreeToggle<CR> "开关目录树快捷键
五、函数追踪/代码跳转
1、因为我们在一开安装了插件管理工具,直接到bundle目录下载vim-godef插件
git clone https://github.com/dgryski/vim-godef
2、编辑~/.vimrc,我把快捷键改成开发php时习惯用的ctrl+],并且增加追踪代码打开方式
"go函数追踪
autocmd FileType go nnoremap <buffer> gd :call GodefUnderCursor()<cr>
autocmd FileType go nnoremap <buffer> <C-]> :call GodefUnderCursor()<cr>
let g:godef_split=3 "左右打开新窗口的时候
let g:godef_same_file_in_same_window=1 "函数在同一个文件中时不需要打开新窗口
3、当光标在某函数上时,启用快捷键可以自动跳转到函数定义的位置,还可以很方便查看内置函数的源码
有疑问加站长微信联系(非本文作者)