NeoVim开发环境搭建之Go

Go环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
➜  ~ go version
go version go1.12.5 linux/amd64
➜ ~
➜ ~ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/kali-team/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/kali-team/.Go"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build968387860=/tmp/go-build -gno-record-gcc-switches"
➜ ~

安装gopm

  • gopm的全称为Go Package Manager,即Go包管理器,由于一些众所周知的某些原因,用不了Go官方的包命令安装golang.org和gocode.org的包。

  • 从github上安装gopm:

1
go get -u github.com/gpmgo/gopm

安装Go Tools

  • 由于不可描述的原因,安装Go Tools要从Go官方的github仓库里clone回来自己手动安装。
1
cd $GOPATH/src/golang.org/x/
  • 却换到golang.org的目录
1
2
➜   git clone https://github.com/golang/tools
➜ git clone https://github.com/golang/lint
  • 或者使用gopm安装
1
2
➜   gopm get -g golang.org/x/tools
➜ gopm get -g golang.org/x/lint

1560696113964


1
2
3
4
5
➜   go install golang.org/x/tools/cmd/guru
➜ go install golang.org/x/tools/cmd/gorename
➜ go install golang.org/x/tools/cmd/fiximports
➜ go install golang.org/x/tools/cmd/gopls
➜ go install golang.org/x/tools/cmd/godex
  • 安装过程中可能会出现缺少依赖包的错误,缺啥装啥,然后再执行一次上面的安装命令。
1
➜   gopm get -g golang.org/x/sync/errgroup

安装gocode

  • 这里有一个大坑,因为我之前是有vim的现在换为neovim了,然后直接把配置文件链接到以前的vim配置文件。然而gocode如果你选择使用neovim的配置,他会在neovim的插件目录生成链接。现在干脆把之前的配置删除了,直接使用neovim的配置文件。
1
go get -u github.com/nsf/gocode
  • 设置gocode,也就是开头的Go环境变量,根据个人环境不同而定。
1
2
➜   gocode set propose-builtins true
➜ gocode set lib-path "/usr/lib/go/pkg/linux_amd64"
1
Plug 'nsf/gocode', { 'rtp': 'nvim', 'do': '~/.config/nvim/plugged/gocode/nvim/symlink.sh' }

安装Vim-go插件

  • 我是使用vim-plug插件管理器安装的,所以只要在加载插件的地方加入
1
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
  • 然后重新加载init.vim文件后,PlugInstall就会自动安装了,因为我们上面已经为Vim-go安装完了Go Tools,所以是比较快就能完成的。