An open API service indexing awesome lists of open source software.

https://github.com/kaihendry/goide

Docker run to a sane vim-go setup
https://github.com/kaihendry/goide

debugger docker editor go golang gopls minimal vim

Last synced: 12 months ago
JSON representation

Docker run to a sane vim-go setup

Awesome Lists containing this project

README

          

vim with:

* [vim-go](https://github.com/fatih/vim-go) for a Golang IDE
* [dlv](https://github.com/go-delve/delve) for debugging
* :GoTests for generating tests

# Try it!

alias g='docker run -it --rm -v $(pwd):/src hendry/goide:latest $@'

Prefer a shell instead?

docker run -it --rm --entrypoint=bash -v $(pwd):/src hendry/goide

# Keyboard shortcuts

\\ is called the "leader" key in vim.

* \r Run current buffer
* F12 Show definition, C-o to switch back
* C-x C-o Autocomplete with gopls
* C-g Show functions / declarations
* \t Go test, \ga switch between test and code
* K Show documentation

## Debug

* F5 Start / Continue
* F8 Stop
* F9 Toggle breakpoint
* F10 Debug next line
* F11 Debug step into next function

## Super handy commands

* :GoFillStruct
* :GoRename
* :GoAddTags
* :GoPlay

Do read https://github.com/fatih/vim-go-tutorial

# Compared to VS code

Following https://www.youtube.com/watch?v=1MXIGYrMk80 with
https://golang.org/doc/code, this project has a couple of advantages:

* Docker image streamlines setup. No hoop jumping to install the entire environment assuming you have Docker and `make` installed
* Efficient vim key bindings, use `vimtutor` to learn how to edit with it
* Can be used easily upon remote environments, a **terminal environment** is _all you need_
* `:Gotests` makes it easier to generate tests

# Elsewhere

* https://tpaschalis.github.io/vim-go-setup/
* https://github.com/kaihendry/nvim