Vim配置Golang开发环境

准备:

  • 安装好Vim

  • 下载好GoLang工具包,这会在后面介绍。

  • 有一定的vim使用经验

开始:

$ rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.4.linux-amd64.tar.gz/usr/local/gogolang/usr/local/go/usr/local/go/bin
$HOME/.profile/etc/profileexport PATH=$PATH:/usr/local/go/binsource /etc/profilesource /$HOME/.profile
$ go version这一步非常重要
export GO111MODULE=on
export GOPROXY=https://goproxy.cn

到这里,go的一些工具包基本安装完成。下面开始配置vim。

vim-plugvim-govim-plug

" 插件列表
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
call plug#begin('~/.vim/plugged')

Plug 'jiangmiao/auto-pairs'
Plug 'tpope/vim-surround'

"对代码段进行展开
Plug 'honza/vim-snippets'

" 解决snipet和YCM冲突的插件
Plug 'ervandew/supertab'

“vim-go插件
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }

"安装的主题插件
Plug 'flazz/vim-colorschemes'

Plug 'AndrewRadev/splitjoin.vim'
Plug 'SirVer/ultisnips'
Plug 'easymotion/vim-easymotion'
Plug 'tpope/vim-commentary'

" 加载自定义插件
if filereadable(expand($HOME . '/.vimrc.custom.plugins'))
    source $HOME/.vimrc.custom.plugins
endif

call plug#end()  
:PlugInstall
vim-go:GoInstallBinaries
let mapleader = " "           "设置leader键位空格
"vim-go的配置
autocmd FileType go nmap <leader>b <Plug>(go-build)
autocmd FileType go nmap <leader>r <Plug>(go-run)
autocmd FileType go nmap <leader>t <Plug>(go-test)

set autowrite "自动写入
let g:go_list_type = "quickfix"  "在退出文件时,自动进行错误检查,并将错误展示在一个新窗口
let g:go_fmt_command = "goimports" "在保存文件时,自动格式化go代码,并且自动更新依赖库。在大型项目中会很慢。
"let g:go_fmt_fail_sliently = 1 "关闭保存文件时的格式化检查
let g:go_addtags_transform = "camelcase" "驼峰命名法

ctrl+]ctrl+o:GoRun空格+rvim-go

vim-govim 下golang环境配置的文章很多
参考资料