GitShow/fatih/vim-go
fatih

vim-go

Go development plugin for Vim

by fatih
gogolanggoplshacktoberfestlpsvimvim-govim-plugins
Star on GitHubForkWebsite

Vim Script

16.2k stars1.4k forks394 contributorsActive · 4w agoSince 2014v1.29

Meet the team

See all 394 on GitHub →
bhcleek
bhcleek2.4k contributions
fatih
fatih1.5k contributions
arp242
arp242101 contributions
mattn
mattn29 contributions
delphinus
delphinus20 contributions
guns
guns16 contributions
nhooyr
nhooyr15 contributions
k33nice
k33nice14 contributions

Languages

View on GitHub →
Vim Script86.5%
Go8.4%
Vim Snippet2.6%
Shell1.8%
Python0.5%
Makefile0.1%
Other0.1%

Commit activity

Last 12 weeks · 21 commits

Full graph →

Community health

4 of 6 standards met

Community profile →
71
✓README✓License✓Contributing○Code of Conduct✓Issue Template○PR Template

Recent fixes

View closed PRs →
carlosonunez
`gopls` not found if `GOBIN` not defined in environmentClosedIssue

What did you do? (required: The issue will be closed when not provided) 1. Install through Homebrew on MacOS and added the extension to manage Go versions NOTE**: I _did not_ add to my as directed, as I build with Golang in Docker or Podman almost exclusively and _only_ install it for to work. 2. Create a in my that installs Golang 1.26.5 by default: vim execute pathogen#infect() " Golang specific: Lint, test, and vet on save let g:go_jump_to_error = 0 let g:go_metalinter_autosave = 1 let g:go_metalinter_autosave_enabled = ['bugs', 'error', 'complexity', 'metalinter', 'style'] let g:go_fmt_fail_silently = 0 let g:go_search_bin_path_first = 1 ``:versiongo versiongo version go1.26.5 darwin/arm64` Go environment go env Output: AR='ar' CC='clang' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g' CGO_ENABLED='1' CGO_FFLAGS='-O2 -g' CGO_LDFLAGS='-O2 -g' CXX='clang++' GCCGO='gccgo' GO111MODULE='' GOARCH='arm64' GOARM64='v8.0' GOAUTH='netrc' GOBIN='/Users/cn/.asdf/installs/golang/1.26.5/bin' GOCACHE='/Users/cn/Library/Caches/go-build' GOCACHEPROG='' GODEBUG='' GOENV='/Users/cn/Library/Application Support/go/env' GOEXE='' GOEXPERIMENT='' GOFIPS140='off' GOFLAGS='' GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/40/fq2dtqdx3ks9s0x7z_zd0d9h0000gn/T/go-build902282508=/tmp/go-build -gno-record-gcc-switches -fno-common' GOHOSTARCH='arm64' GOHOSTOS='darwin' GOINSECURE='' GOMOD='/Users/cn/src/expenses-processor/go.mod' GOMODCACHE='/Users/cn/.asdf/installs/golang/1.26.5/packages/pkg/mod' GONOPROXY='' GONOSUMDB='' GOOS='darwin' GOPATH='/Users/cn/.asdf/installs/golang/1.26.5/packages' GOPRIVATE='' GOPROXY='https://proxy.golang.org,direct' GOROOT='/Users/cn/.asdf/installs/golang/1.26.5/go' GOSUMDB='sum.golang.org' GOTELEMETRY='local' GOTELEMETRYDIR='/Users/cn/Library/Application Support/go/telemetry' GOTMPDIR='' GOTOOLCHAIN='auto' GOTOOLDIR='/Users/cn/.asdf/installs/golang/1.26.5/go/pkg/tool/darwin_arm64' GOVCS='' GOVERSION='go1.26.5' GOWORK='' PKG_CONFIG='pkg-config' gopls version gopls version Output: golang.org/x/tools/gopls v0.23.0

carlosonunez · 4w ago
kevinburke
def: fix the stack commands when the native tag stack is usedMergedPR

vim-go records the location that a jump to a definition was made from on Vim's native tag stack when settagstack() supports the 't' action, but :GoDefPop, :GoDefStack, and :GoDefStackClear kept reading the script local stack that is only written to on older versions. All three have been inert on any Vim with patch-8.2.0077 and on Neovim; :GoDefPop and :GoDefStack always reported 'godef stack empty'. Read whichever stack is in use instead. Each native tag stack item records the position that the jump was made from in its 'from' field, which is exactly what vim-go's own stack entries hold, so the commands can keep their documented behavior. Jumping to a newer entry sets curidx and moves the cursor directly rather than using :tag, because :tag re-runs a real tag lookup and fails without a tags file. CTRL-t is unaffected: ftplugin/go.vim already leaves it alone when the native tag stack is used so that Vim's builtin CTRL-t pops it.

kevinburke · 4w ago
bhcleek
path: do not second guess go env GOBINMergedPR

Go 1.27 provides a default for go env GOBIN when GOBIN is otherwise unset. Stop second guessing go env GOBIN - no longer read GOBIN directly when go env GOBIN provided output. Instead, trust go env GOBIN output. Continue to handle the case where go env GOBIN returned an empty string for backward compatiblity with Go 1.26.

bhcleek · 4w ago
Structured data for AI agents

Repository: fatih/vim-go. Description: Go development plugin for Vim Stars: 16217, Forks: 1426. Primary language: Vim Script. Languages: Vim Script (86.5%), Go (8.4%), Vim Snippet (2.6%), Shell (1.8%), Python (0.5%). Homepage: https://www.patreon.com/bhcleek Topics: go, golang, gopls, hacktoberfest, lps, vim, vim-go, vim-plugins, viml. Latest release: v1.29 (1y ago). Open PRs: 16, open issues: 28. Last activity: 4w ago. Community health: 71%. Top contributors: bhcleek, fatih, arp242, mattn, delphinus, guns, nhooyr, k33nice, nowk, cespare and others.

·@ofershap

Replace github.com with gitshow.dev