Go の Vim プラグインを vim-go に切り替えた
Vim で Go のコードを書いていて、エディタ内からお手軽にカバレッジ取れたらいいなと思って調べていたら、オフィシャルの Go の Vim プラグインではなく vim-go を使えばできそうだということがわかったので、切り替えることにした
まずは
" Set golang vim scripts
exe 'set runtimepath+='.substitute(system('brew --prefix go'), '\n', '', 'g').'/libexec/misc/vim'
として読み込んでいたオフィシャルプラグインを外して、自分の環境ではプラグイン管理に NeoBundle を使っているので
NeoBundleLazy 'fatih/vim-go', {
\ 'depends' : 'majutsushi/tagbar',
\ 'autoload' : {
\ 'filetypes' : 'go',
\ 'commands' : ['GoInstallBinaries', 'GoUpdateBinaries'],
\ }}
" vim-go "{{{
let bundle = neobundle#get('vim-go')
function! bundle.hooks.on_source(bundle)
let g:go_fmt_autosave = 0
let g:go_fmt_fail_silently = 1
endfunction
"}}}
のように設定してみた。 Tagbar を使っている場合は depends
に一緒に読み込む設定を書いておくことで、 gotags を使ったアウトライン表示ができる。また、当初の目的だったカバレッジ取得は、 :GoCoverage
を実行すれば自動的にウェブブラウザが開いて結果を表示してくれるようになっている
他にも支援プログラムを使った各種機能が盛りだくさんで、仮にそれらに必要なソフトウェアがインストールされていない場合は :GoInstallBinaries
を実行すれば、内部的に go get
して必要なパッケージを拾ってきてインストールしてくれる。それらの一括更新も :GoUpdateBinaries
で実行できて便利
これでちょっとばかり Go を書く環境がリッチになったので、しばらく使い込んでみたい