vim--golang开发配置

Posted 360搜索技术团队

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,加入两行


  
    
    
  
  1. "插件管理工具

  2. execute pathogen#infect()

  3. 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开发所需相关工具,会出现如下图所示界面


  
    
    
  
  1. vim-go: gogetdoc not found. Installing github.com/zmb3/gogetdoc to folder /home/xxx/project/go/bin/

  2. vim-go: godef not found. Installing github.com/rogpeppe/godef to folder /home/xxx/project/go/bin/

  3. vim-go: gocode not found. Installing github.com/nsf/gocode to folder /home/xxx/project/go/bin/

  4. vim-go: goimports not found. Installing golang.org/x/tools/cmd/goimports to folder /home/xxx/project/go/bin/

  5. Press ENTER or type command to continue

3、编辑~/.vimrc,加入一行

syntax  on   "代码高亮

4、重启vim,查看代码高亮

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

colorscheme koehler

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

vim--golang开发配置

7、但是又发现了问题,函数名等不能识别高亮,编辑~/.vimrc,加入几行


  
    
    
  
  1. let g:go_highlight_functions = 1

  2. let g:go_highlight_methods = 1

  3. let g:go_highlight_structs = 1

  4. let g:go_highlight_operators = 1

  5. let g:go_highlight_build_constraints = 1

二、代码提示

1、下载gocode,进入 $GOPAH/src 目录下

go get github.com/nsf/gocode

2、进入github.com/nsf/gocode目录下,编译


  
    
    
  
  1. [xxx@boxdev01v ~/project/go/src/github.com/nsf/gocode]$ go build

  2. [xxx@boxdev01v ~/project/go/src/github.com/nsf/gocode]$ go install

3、以上会生成一个gocode的可执行文件,并被放到$GOPATH/bin 目录下

vim--golang开发配置

4、在bundle目录下载vim-gocode

git clone https://github.com/Blackrush/vim-gocode.git

5、查看你的$HOME/.profile,确保go的环境变量GOROOT、GOPATH、PATH都设置的没问题,然后加上


  
    
    
  
  1. export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

  2. export GOBIN=$GOPATH/bin

6、设置 gocode的快捷键,编辑~/.vimrc

imap <F8> <C-x><C-o>   "go代码提示

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

vim--golang开发配置

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

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

vim--golang开发配置

四、目录树

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

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

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

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


  
    
    
  
  1. autocmd VimEnter * NERDTree    "默认开启目录树

  2. map <F6> :silent! NERDTreeToggle<CR>    "开关目录树快捷键

五、函数追踪/代码跳转

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

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

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


  
    
    
  
  1. "go函数追踪

  2. autocmd FileType go nnoremap <buffer> gd :call GodefUnderCursor()<cr>

  3. autocmd FileType go nnoremap <buffer> <C-]> :call GodefUnderCursor()<cr>

  4. let g:godef_split=3    "左右打开新窗口的时候

  5. let g:godef_same_file_in_same_window=1    "函数在同一个文件中时不需要打开新窗口

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


以上是关于vim--golang开发配置的主要内容,如果未能解决你的问题,请参考以下文章

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

Eclipse 中的通用代码片段或模板

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置