vim--golang开发配置

开发离不开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,查看代码高亮

vim--golang开发配置_第1张图片

5、发现这个配色方案眼睛会瞎掉,提供一个我喜欢的配色方案,编辑~/.vimrc,加入一行

colorscheme koehler

6、重启vim,查看代码高亮,舒服多了

vim--golang开发配置_第2张图片

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 目录下

vim--golang开发配置_第3张图片

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     "go代码提示

7、编辑代码时按F8,效果如下

 vim--golang开发配置_第4张图片

三、语法检查、自动格式化

安装完vim-go,在保存时也支持了语法检查和自动格式化

四、目录树

1、因为我们之前安装了插件管理工具pathogen,只要到bundle目录下载目录树插件NERDTree,就可以自动安装

git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

2、启动vim,输入:NERDTree查看效果

vim--golang开发配置_第5张图片

3、编辑~/.vimrc,增加目录树默认开启和开关快捷键

autocmd VimEnter * NERDTree    "默认开启目录树
map  :silent! NERDTreeToggle    "开关目录树快捷键

五、函数追踪/代码跳转

1、因为我们在一开安装了插件管理工具,直接到bundle目录下载vim-godef插件

git clone https://github.com/dgryski/vim-godef

2、编辑~/.vimrc,我把快捷键改成开发php时习惯用的ctrl+],并且增加追踪代码打开方式

"go函数追踪
autocmd FileType go nnoremap  gd :call GodefUnderCursor()
autocmd FileType go nnoremap   :call GodefUnderCursor()
let g:godef_split=3    "左右打开新窗口的时候
let g:godef_same_file_in_same_window=1    "函数在同一个文件中时不需要打开新窗口

3、当光标在某函数上时,启用快捷键可以自动跳转到函数定义的位置,还可以很方便查看内置函数的源码

你可能感兴趣的:(vim学习笔记)