mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-23 22:40:04 +08:00
2.4 KiB
2.4 KiB
title | description |
---|---|
SpaceVim golang layer | This layer is for golang development. It also provides additional language-specific key mappings. |
Available Layers >> lang#go
Description
This layer is for golang development. It also provides additional language-specific key mappings.
Install
To use this configuration layer, update 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 get -u github.com/jstemmer/gotags
Features
- auto-completion
- syntax checking
- goto definition
- refernce finder
Key bindings
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 in file |
SPC l m |
format improts |
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 format 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.