最近准备把Go语言的开发环境迁移到linux下来,因为是用xshell ssh到Ubuntu server上的,Sublime肯定是没有办法用了,反正之前Vim用的也挺熟,索性就转移到Vim下开发了。
linux下Go的安装很方便,把官方的包下载下来,直接解压到
home
目录下,再配置下环境变量就可以了。我用的是Ubuntu Server,只要在home目录下的.profile文件中加入以下内容
export GOROOT=$HOME/go #go语言安装包的位置
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/mygo #自己的代码放在mygo下
export PATH=$PATH:$GOPATH/bin
Vim的插件管理用的是Vundle,在github上有备份,这里主要是添加Vim下Go语言的自动补全插件。
先用Go的命令行工具把gocode
装上go get github.com/nsf/gocode
再添加Vim对应的插件
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
插件实现
安装gotagsgo get github.com/jstemmer/gotags
在vimrc里加上tagbar的配置
let g:tagbar_type_go = {
\ ‘ctagstype‘ : ‘go‘,
\ ‘kinds‘ : [
\ ‘p:package‘,
\ ‘i:imports:1‘,
\ ‘c:constants‘,
\ ‘v:variables‘,
\ ‘t:types‘,
\ ‘n:interfaces‘,
\ ‘w:fields‘,
\ ‘e:embedded‘,
\ ‘m:methods‘,
\ ‘r:constructor‘,
\ ‘f:functions‘
\ ],
\ ‘sro‘ : ‘.‘,
\ ‘kind2scope‘ : {
\ ‘t‘ : ‘ctype‘,
\ ‘n‘ : ‘ntype‘
\ },
\ ‘scope2kind‘ : {
\ ‘ctype‘ : ‘t‘,
\ ‘ntype‘ : ‘n‘
\ },
\ ‘ctagsbin‘ : ‘gotags‘,
\ ‘ctagsargs‘ : ‘-sort -silent‘
\ }
时间: 2024-10-10 16:24:09