1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 22:20:06 +08:00
SpaceVim/docs/layers/lang/go.md

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.