Go言語に入門したので その時にやったことをログとして残しておきます. なにかあれば よろしくお願いします.

インストール

まずは手持ちのMacにGo言語をインストール

$ brew install go

bingoの導入

bingoはコード補完のためのツールです.

bingoをインストールしておきます:

$ export GO111MODULE=on
$ go get -u github.com/saibing/bingo

vimの設定

aleのgoのlinterにgolintを, fixerにlintを設定します:

let ale_linters = {
  ...
\ 'go': ['golint'],
\}

let g:ale_fixers = {
  ...
  \ 'go': ['gofmt'],
\}

次にgo-importsをインストールします. これによって :wコマンドで自動でgo-importがされるようになります:

Plug 'mattn/vim-goimports'

lspの設定をします:

if executable('bingo')
  autocmd User lsp_setup call lsp#register_server({
    \ 'name': 'go-lang',
    \ 'cmd': {server_info->['bingo', '-mode', 'stdio']},
                \ 'whitelist': ['go'],
  \ })
  autocmd FileType go setlocal omnifunc=lsp#complete
  autocmd FileType go nmap <C-]> :LspDefinition<CR>
  autocmd FileType go nmap K :LspHover<CR>
  autocmd FileType go nmap ]] :LspDocumentSymbol<CR>
endif