edo1z blog

プログラミングなどに関するブログです

Go - Vim-goがうごかない

参考:vim-goをインストールしてみた(所要時間:15分)

環境

  • windows10
  • go1.8

.vimrcの設定

deinでvim-goプラグインをインストール設定した。

call dein#add('fatih/vim-go')

vim内で:GoInstallBinariesを実行

.vimrc設定変更後にvimを起動すると、vim-goがインストールされた上でvimが起動される。起動後に、:GoInstallBinariesを実行すると、vim-goに必要なgoのパッケージ?がインストールされるはずなんだけど、うまくいかない。

全部インストールに失敗するし、そもそも$GOPATH/binにインストールされるはずだと思うんだど、c/binにインストールしようとしている。どうも$GOPATH関連の設定読み込みがおかしいっぽい。下記のようなエラーがでる。

vim-go: gometalinter not found. Installing github.com/alecthomas/gometalinter to folder C/bin/
Error installing github.com/alecthomas/gometalinter: github.com/alecthomas/gometalinter (download)
cannot install, GOBIN must be an absolute path
vim-go: errcheck not found. Installing github.com/kisielk/errcheck to folder C/bin/
...

同じようなのがずっと続いて、結局エラーで終わる。C/binというのが出来てるわけでもない。$GOPATHの設定も問題ない。

解決策

.vimrcに下記を設定したら出来た。

let g:go_bin_path = $GOPATH.'/bin'
filetype plugin indent on

参考:https://github.com/fatih/vim-go/blob/master/doc/vim-go.txt

Windowsの場合の問題

上記解決策だと、Windowsの場合、:GoDefとかやると、$GOPATHの\をフォルダの区切り文字と認識せずおかしなフォルダパス設定になってうまく動作しなかった。かといって、パスをベタで書くのもいやだ。でもベタでとりあえず書いて一旦終了。 あと、:GoErrCheckとかやると、パス関連が変な表示になりエラーになる。まだいろいろ設定不備がありそうなので、あとで調べる。

追記: .bashrcに下記を追加したら問題なく動作するようになった。

export GOPATH=$HOME/go
export GOROOT=/d/go
export GOBIN=$HOME/go/bin