vim-lspはじめました
vim-go の GO111MODULE=on 時の挙動が気になり、prabirshrestha/vim-lsp に移行した際の設定メモ。
セットアップ手順
-
Language Server として
bingoをインストールするgo get -u github.com/saibing/bingo -
vim-lsp を設定する
Plug 'prabirshrestha/async.vim' Plug 'prabirshrestha/vim-lsp' if executable('bingo') augroup LspGo au! autocmd User lsp_setup call lsp#register_server({ \ 'name': 'go-lang', \ 'cmd': {server_info->['bingo', '-mode', 'stdio']}, \ 'whitelist': ['go'], \ }) autocmd FileType go setlocal noexpandtab 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> autocmd BufWritePre *.go LspDocumentFormatSync augroup END endif
キーマッピングは Wiki の例をそのまま使えば問題ない。