This plugin adds Go language support for Vim, with the following main features:
- Build with
:GoBuild
, install with:GoInstall
or test with:GoTest
(run single tests via:GoTestFunc
) - Show test coverage with
:GoCoverage
or in browser with:GoCoverageBrowser
- Goto definition with
:GoDef
- Quick jump to declarations with
:GoDecls
or:GoDeclsDir
- Show documentation with
:GoDoc
inside or in browser with:GoDocBrowser
- Quickly execute your current file/files with
:GoRun
- Advanced source analysis tools utilizing guru, such as
:GoImplements
,:GoCallees
, and:GoReferrers
- Change or display
GOPATH
with:GoPath
- Multiple 3rd linter support with
:GoMetaLinter
- Renaming identifiers with
:GoRename
- Share your code to play.golang.org with
:GoPlay
- Switch between
*.go
and*_test.go
code with:GoAlternate
- Add/Remove tags on struct fields with
:GoAddTags
- Add import paths via
:GoImport
or remove them with:GoDrop
- Custom vim text objects such as
a function (af)
orinner function (if)
- ... and many more! Please see doc/vim-go.txt for more information.
Master branch is a development branch. Please use with caution. I recommend to use the latest stable release
Vim-go follows the standard runtime path structure. Below are some helper lines for popular package managers:
- Pathogen
git clone https://github.com/fatih/vim-go.git ~/.vim/bundle/vim-go
- vim-plug
Plug 'fatih/vim-go'
- Vim packages
git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
After installing, please install all necessary binaries. We have a handy command for it:
:GoInstallBinaries
for more information please check out the documentation
Official documentation can be found under doc/vim-go.txt. You can display it from within Vim with:
:help vim-go
Depending on your installation, you may have to generate the plugin's help
tags
manually (eg. :helptags ALL
).
We also have an official vim-go tutorial.
The BSD 3-Clause License - see LICENSE
for more details