配置Vim的Go开发环境

最近准备把Go语言的开发环境迁移到linux下来,因为是用xshell ssh到Ubuntu server上的,Sublime肯定是没有办法用了,反正之前Vim用的也挺熟,索性就转移到Vim下开发了。


linux下Go的安装很方便,把官方的包下载下来,直接解压到home目录下,再配置下环境变量就可以了。我用的是Ubuntu Server,只要在home目录下的.profile文件中加入以下内容

  1. export GOROOT=$HOME/go    #go语言安装包的位置
  2. export PATH=$PATH:$GOROOT/bin 
  3. export GOPATH=$HOME/mygo #自己的代码放在mygo下
  4. export PATH=$PATH:$GOPATH/bin

Vim的插件管理用的是Vundle,在github上有备份,这里主要是添加Vim下Go语言的自动补全插件。

先用Go的命令行工具把gocode装上
go get github.com/nsf/gocode

再添加Vim对应的插件

  1. Bundle 'dgryski/vim-godef'


最后配置下gocode工具
gocode set propose-builtins true
执行gocode set命令查看返回值

默认情况下,gocode只会搜索
$GOPATH/pkg/$GOOS_$GOARCH`` ``$GOROOT/pkg/$GOOS_$GOARCH
这两个目录下的包,如果有其他的地方要搜索可以调用
gocode set lib-path path来添加。


安装完上面的插件之后,在vim中编辑go文件就可以高亮显示了,如果需要自动补全的话,按下Ctrl+x Ctrl + o就会弹出补全列表。


查看当前文件的函数定义和结构体定义可以通过gotags配合tagbar插件实现

安装gotags
go get github.com/jstemmer/gotags

在vimrc里加上tagbar的配置

  1. let g:tagbar_type_go = {
  2. 'ctagstype' : 'go',
  3. 'kinds' : [
  4. 'p:package',
  5. 'i:imports:1',
  6. 'c:constants',
  7. 'v:variables',
  8. 't:types',
  9. 'n:interfaces',
  10. 'w:fields',
  11. 'e:embedded',
  12. 'm:methods',
  13. 'r:constructor',
  14. 'f:functions'
  15. ],
  16. 'sro' : '.',
  17. 'kind2scope' : {
  18. 't' : 'ctype',
  19. 'n' : 'ntype'
  20. },
  21. 'scope2kind' : {
  22. 'ctype' : 't',
  23. 'ntype' : 'n'
  24. },
  25. 'ctagsbin' : 'gotags',
  26. 'ctagsargs' : '-sort -silent'
  27. }




原文地址:https://www.cnblogs.com/joyzhuang/p/3977616.html