SpaceVim

A modular Vim/Neovim configuration


Home | About | Quick start guide | Documentation | Development | Community | Sponsors | 中文


Available Layers » lang#go

Description

This layer is for golang development. It also provides additional language-specific key mappings.

Features

Install

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

Layer options

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, 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