この記事は古いです。現在は misc/vim
は存在しません。 vim-go を使うことを推奨します
準備: GOROOT と GOPATH の設定
vim にかぎらず、 Go を使う場合はGOROOT と GOPATH を設定しておきましょう。
GOROOT は Go をインストールした場所に、 GOPATH はあとで go get するときにインストールする場所を指定します。
export GOROOT=$HOME/local/go
export GOPATH=$HOME/_go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
ただし、 Go を自分でビルドした場合は、 GOROOT の設定はいりません。 go をビルドした時のターゲットディレクトリが自動的に使われます。
GOROOT を設定しないことで、複数のバージョンの go をインストールしても、起動する go を変えるだけでよくなります。 (GOROOT を設定していると、バージョン切り替えには GOROOT の切り替えが必要になります)
基本: go に同梱されいてる vim の設定を利用する
GO の misc/vim に vim 用の設定ファイルが存在します。これを利用しましょう。 .vimrc
に次の設定を書いておきます。
if $GOROOT != ''
set rtp+=$GOROOT/misc/vim
endif
もっと便利に: gocode を使う
gocode をインストールすると補完ができます。
$ mkdir -p $GOPATH/bin
$ go get github.com/nsf/gocode
$ ~/_go/src/github.com/nsf/gocode/vim/update.sh
これで Omni 補完がコンテキストを理解して賢く補完してくれます。
Omni 補完は多分デフォルトでは C-x C-o
などになっていますが、 neocomplcache などを利用している場合はそちらで Omni 補完を有効にしましょう。