読者です 読者をやめる 読者になる 読者になる

pandazx's blog

Hadoop, データ分析など雑多な技術ブログ

macでgo install & Vim初期設定

環境:Mac OS X 10.9

色々とググって出てくるページを参考にさせていただきました。

Mercurialが必要なので以下よりパッケージをダウンロードしてインストール
ないと途中でhg のエラーが出る。
http://mercurial.selenic.com/downloads
ちなみに開発元が未確認のため開けませんと言われる時は
システム環境設定→セキュリティとプライバシー→一般→すべてのアプリケーションを許可

goをインストール

brew install go
mkdir ~/go

.zshrcに設定追加

# for go lang
# 以下のif はgo がなければ設定しないという意味
if [ -x "`which go`" ]; then
  export GOROOT=`go env GOROOT`
  export GOPATH=$HOME/go
  export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
fi

基本的なツールをインストール

go get code.google.com/p/go.tools/cmd/goimports
go get code.google.com/p/go.tools/cmd/godoc
go get code.google.com/p/go.tools/cmd/vet
go get code.google.com/p/go.tools/cmd/cover

go get github.com/nsf/gocode
sh $GOPATH/src/github.com/nsf/gocode/vim/update.sh

参考:http://qiita.com/methane/items/4905f40e4772afec3e60

.vimrc に設定追加

" :Fmt などで gofmt の代わりに goimports を使う
let g:gofmt_command = 'goimports'

" Go に付属の plugin と gocode を有効にする
set rtp^=${GOROOT}/misc/vim
set rtp^=${GOPATH}/src/github.com/nsf/gocode/vim
syntax on

" 保存時に自動的に :Fmt (コード整形)実行
au BufWritePre *.go Fmt
au BufNewFile,BufRead *.go set sw=4 noexpandtab ts=2
au FileType go compiler go

filetype plugin on
  • syntax on はキーワードのハイライト表示
  • syntax onはgocodeより下じゃないと効かないので注意
  • au BufNewFileの行のts=2はタブのインデント数

あとは Hello World してみれば、Goの世界が開けます!

コード補完(gocodeの使い方)

例えば、fmt.Println と打ちたい時に
fmt. まで打って、ctrl-x, ctrl-o と打てば候補が表示されます。