vim进行golang开发
主要通过vim-go插件,实现代码跳转、编译、调试等功能。
未完待续...
安装升级vim 8
vim-go要求的vim最低版本为 8.1.2269,版本低的话可以手动升级,建议源码编译安装。
安装:
# 下载对应的tag https://github.com/vim/vim/tags # 编译安装 make make install
安装vim-go
vim8之前通常需要借助第三方的plugin管理器如vundle管理plugin。从vim8可以通过package的方式原生支持plugin。安装卸载插件非常简单。
安装:
下载最新develop版本,或者下载稳定的Release版本,放置到vim的plugin目录下即可# develop版本 git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go # release版本 https://github.com/fatih/vim-go/releases
卸载:
rm -rf ~/.vim/pack/plugins/start/vim-go
安装vim-go依赖的二进制程序
vim :GoInstallBinaries # 会自动通过github下载需要的二进制程序 # 放置到$GOBIN or $GOPATH/bin, 默认 $HOME/go/bin ...... github.com/klauspost/asmfmt/cmd/asmfmt@latest to folder /home/gpadmin/go/bin/ vim-go: installing finished!
升级vim-go和依赖的二进制程序
:GoUpdateBinaries
配置vimrc
vi ~/.vimrc filetype plugin indent on
使用vim-go
参考doc/vim-go.txt或者vim中的帮助:help vim-go(需要先:helptags ALL)
官方Tutorial内容有些过时了,有问题首选参考vim-go.txt。
Navigate:
功能 命令 快捷键 go to defination :GoDef gd / ctrl-] go back :GoDefPop ctrl-t 显示jumpstack :GoDefStack - 清理jumpstack :GoDefStackClear -
trouble-shooting
粘贴代码缩进问题:
现象:vimrc中配置'filetype plugin indent on'后,vim中粘贴代码出现错误的缩进。
办法:使用:paste模式粘贴1. :set paste 2. 进入insert模式粘贴代码 3. :set nopaste