ravelll の日記

よしなに

vim-go で補完が動かなくなったときの対処法

先日から Vim で Go を書いているときに autocomplete できなくなって困っていた。同様のことが過去に何度かあったので対処法をメモしておく。
この記事を書く時点での手元の Vim は 8.0.1800、Go 関係の Vim プラグインは fatih/vim-go のみ。

1. gocode close する
2. go get -u github.com/nsf/gocode する

これだけで解決した。
gocode close は補完に利用される gocode のデーモンプロセスを殺すためのコマンドで、もしかしたらこれだけでも解消していたのかもしれない。

気になって確認してみたのだけど、go get -u github.com/nsf/gocode したり Vim から :GoUpdateBinaries してもデーモンプロセスは死なないようだった。
起動は Vim 上で補完が行われるタイミング(例えば `fmt.` のドットを入力したタイミング)で自動的に、かつ非常に短時間に行われるので、定期的にデーモンプロセスを殺す設定を入れておくと良いのかもしれない。