nmap gvd (go-def-vertical) nmap gsd (go-def-split) nmap gvD (go-def-type-vertical) nmap gsD (go-def-type-split) nmap gb :up:GoBuild nmap gr :up:GoRun nmap gc :GoCallers " TODO: if GoInfo returns nothing an [INFO] SUCCESS message is shown. " But disabling g:go_echo_command_info impacts build and test workflow. nmap gi :GoInfo nmap gp :GoImplements nmap ga :GoAlternate nmap gk :GoDocBrowser nmap gd :GoDecls nmap gD :GoDeclsDir " mnemonic: match nmap gm :GoSameIds nmap gv :vsplit:GoAlternate! nmap gV :vsplit:GoAlternate! nmap gs :split:GoAlternate! nmap gS :split:GoAlternate! nmap gt :up:GoTest nmap gf :up:GoTestFunc nmap gat :GoAddTags nmap grt :GoRemoveTags nmap gec :up:GoErrCheck nnoremap dr :GoDebugBreakpoint nnoremap d! :GoDebugStart nnoremap dc :GoDebugContinue nnoremap dq :GoDebugStop nnoremap dn :GoDebugNext nnoremap ds :GoDebugStep " Avoid window positions jumping around when building and testing: set cmdheight=2 " fzf configuration: let g:fzf_action = { \ 'ctrl-t': 'tab split', \ 'ctrl-s': 'split', \ 'ctrl-v': 'vsplit' } " Vim-Go configuration: let g:go_decls_mode = 'fzf' let g:go_fmt_autosave = 0 " Vim-Go seems to handle fix-on-save better than ALE: let g:go_imports_autosave = 1 let g:go_auto_sameids = 0 let g:go_auto_type_info = 0 let g:go_info_mode = 'gopls' " ALE handles auto type info: let g:go_auto_type_info = 0 let g:go_code_completion_enabled = 1 let g:go_echo_command_info = 0 let g:go_echo_go_info = 0 let g:go_highlight_diagnostic_errors = 0 let g:go_highlight_diagnostic_warnings = 0 " g:go_statusline_duration doesn't seem to work accurately, but does help: let g:go_statusline_duration = 1000 let g:go_gopls_analyses = { \ 'composites': v:false, \ 'unusedparams': v:true, \ 'unusedresult': v:true, \ 'shadow': v:true, \ } let g:go_fmt_options = { \ 'goimports': '-local github.com/sensiblecodeio/cantabular', \ } autocmd BufNewFile,BufRead *.go nmap g6 :GoAlternate! iabbrev fmtpl fmt.Println("")hi iabbrev fmtpf fmt.Printf("\n")3hi iabbrev mk make([]MyType, 0)9h iabbrev wr w http.ResponseWriter, r *http.Request iabbrev httph http.Handler iabbrev httphf http.HandlerFunc iabbrev fttt ccfunc TestSomething(t *testing.T) {}k9l iabbrev ttt t *testing.T iabbrev errP ccif err != nil {panic(err)} iabbrev errl ccif err != nil {log.Println(err)} iabbrev errp ccif err != nil {fmt.Println(err)} iabbrev errr ccif err != nil {return err} iabbrev defr ccdefer func() {}()ki iabbrev []b []byte()i iabbrev logd log.Debug().Msg(" iabbrev logi log.Info().Msg(" iabbrev loge log.Error().Msg(" iabbrev logf log.Fatal().Msg("