开发离不开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插件
gitclonehttps://github.com/tpope/vim-pathogen.git
3、编辑~/.vimrc,加入两行
"插件管理工具
executepathogeninfect()
filetypepluginindenton
4、重启vim
安装vim-go
1、到bundle目录下载vim-go插件
gitclonehttps://github.com/fatih/vim-go.git
2、用vim打开文件,使用vim-go带的命令 :GoInstallBinaries自动安装go开发所需相关工具,会出现如下图所示界面
vim-go: gogetdocnotfound. Installing github.com/zmb3/gogetdoctofolder /home/xxx/project/go/bin/
vim-go: godefnotfound. Installing github.com/rogpeppe/godeftofolder /home/xxx/project/go/bin/
vim-go: gocodenotfound. Installing github.com/nsf/gocodetofolder /home/xxx/project/go/bin/
vim-go: goimportsnotfound. Installing golang.org/x/tools/cmd/goimportstofolder /home/xxx/project/go/bin/
Press ENTERortypecommandtocontinue
3、编辑~/.vimrc,加入一行
syntaxon"代码高亮
4、重启vim,查看代码高亮
5、发现这个配色方案眼睛会瞎掉,提供一个我喜欢的配色方案,编辑~/.vimrc,加入一行
colorscheme koehler
6、重启vim,查看代码高亮,舒服多了
7、但是又发现了问题,函数名等不能识别高亮,编辑~/.vimrc,加入几行
letg:go_highlight_functions =1
letg:go_highlight_methods =1
letg:go_highlight_structs =1
letg:go_highlight_operators =1
letg:go_highlight_build_constraints =1
二、代码提示
1、下载gocode,进入 $GOPAH/src 目录下
gogetgithub.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 目录下
4、在bundle目录下载vim-gocode
gitclonehttps://github.com/Blackrush/vim-gocode.git
5、查看你的$HOME/.profile,确保go的环境变量GOROOT、GOPATH、PATH都设置的没问题,然后加上
exportPATH=$PATH:$GOROOT/bin:$GOPATH/bin
exportGOBIN=$GOPATH/bin
6、设置 gocode的快捷键,编辑~/.vimrc
imap<F8><C-x><C-o>"go代码提示
7、编辑代码时按F8,效果如下
三、语法检查、自动格式化
安装完vim-go,在保存时也支持了语法检查和自动格式化
四、目录树
1、因为我们之前安装了插件管理工具pathogen,只要到bundle目录下载目录树插件NERDTree,就可以自动安装
gitclonehttps://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree
2、启动vim,输入:NERDTree查看效果
3、编辑~/.vimrc,增加目录树默认开启和开关快捷键
autocmd VimEnter * NERDTree "默认开启目录树
map<F6>:silent! NERDTreeToggle<CR>"开关目录树快捷键
五、函数追踪/代码跳转
1、因为我们在一开安装了插件管理工具,直接到bundle目录下载vim-godef插件
gitclonehttps://github.com/dgryski/vim-godef
2、编辑~/.vimrc,我把快捷键改成开发php时习惯用的ctrl+],并且增加追踪代码打开方式
"go函数追踪
autocmd FileType go nnoremap<buffer>gd :call GodefUnderCursor()<cr>
autocmd FileType go nnoremap<buffer><C-]>:call GodefUnderCursor()<cr>
let g:godef_split=3 "左右打开新窗口的时候
let g:godef_same_file_in_same_window=1 "函数在同一个文件中时不需要打开新窗口
3、当光标在某函数上时,启用快捷键可以自动跳转到函数定义的位置,还可以很方便查看内置函数的源码
原创文章 vim–golang开发配置,版权所有
如若转载,请注明出处:https://www.itxiaozhan.cn/202210488.html