SpaceVim
A modular Vim/Neovim configuration
Home | About | Quick start guide | Documentation | Development | Community | Sponsors | 中文
This layer is for golang development. It also provides additional language-specific key mappings.
To use this configuration layer, update your custom configuration file with:
[[layers]]
name = "lang#go"
After the installation, run :GoInstallBinaries
inside vim.
To enable tagbar support, you need to install gotags:
go install github.com/jstemmer/gotags@latest
enabled_linters
: set a list of enabled lint for golang. by default this
option is ['golint']
. The available linters includes: go
, gometalinter
go_file_head
: the default file head for golang source code.
[[layers]]
name = "lang#go"
go_file_head = [
'#!/usr/bin/python3',
'# -*- coding : utf-8 -*-'
''
]
go_interpreter
: Set the interpreter of go.
[[layers]]
name = 'lang#go'
go_interpreter = '~/download/bin/go'
format_on_save
: enable/disable code formation when save go file. This
options is disabled by default, to enable it:
[[layers]]
name = 'lang#go'
format_on_save = true
Import key bindings:
Key Bindings | Descriptions |
---|---|
SPC l a |
go alternate |
SPC l b |
go build |
SPC l c |
go coverage |
SPC l d |
go doc |
SPC l D |
go doc vertical |
SPC l e |
go rename |
SPC l g |
go definition |
SPC l G |
go generate |
SPC l h |
go info |
SPC l i |
go implements |
SPC l I |
implement stubs |
SPC l k |
add tags |
SPC l K |
remove tags |
SPC l l |
list declarations, need ctrlp or fzf layer |
SPC l m |
format imports |
SPC l M |
add import |
SPC l r |
go run |
SPC l s |
fill struct |
SPC l t |
go test |
SPC l v |
freevars |
SPC l x |
go referrers |
Code formatting:
the default key bindings for formatting current buffer is SPC b f
, and this key bindings is defined in format layer. You can also use g=
to indent current buffer.
To make neoformat support go files, you should have go-fmt command available, or
install goimports. go-fmt
is delivered by golang’s default installation, so make sure you have correctly setup your go environment.
Powered by Jekyll