Edited at

Goの開発環境(Vim + Vundle編)

More than 5 years have passed since last update.

Goの開発環境Vim版について、mattnさんの記事を見ながら作りました。

私はVimの環境にVundleを使っており、その絡みでほんの少し手順に違いがあったので、メモとして残しておきます。

ついでにLintも入れてみる次第です。


大前提:PATHの設定

Goの環境変数はGOROOT(Goのインストールフォルダ)とGOPATH(Goの外部ライブラリを保存するフォルダ)の2つがありますが、このうちGOPATHを用いて $GOPATH/bin を環境変数PATHに含めます(Windowsの場合は%GOPATH%\bin)。


gocodeとGo用lintのインストール

gocodeは下記コマンドでインストール。

go get github.com/nsf/gocode

Golintは下記コマンドでインストール。

go get github.com/golang/lint

それぞれ、$GOPATH/bin/ 以下にgocode, golintの実行形式ファイルが出来ていればOKです。


.vimrcの設定

Vundle用gocode設定として、下記の設定を追加し、BundleInstallでインストールします。


.vimrc

Bundle 'Blackrush/vim-gocode'


既にVundleをご利用の方は、""Vundleの設定と書いているコメントより下の2行が既に.vimrcに書かれているかと思います。

このVundleの設定よりも上に、gocodeとgolintの設定を記述します。


.vimrc

" gocode

set rtp+=$GOROOT/misc/vim
"golint
exe "set rtp+=" . globpath($GOPATH, "src/github.com/golang/lint/misc/vim")

""Vundleの設定
set rtp+=~/vimfiles/bundle/vundle/
call vundle#rc('~/vimfiles/bundle')


最後にGo用に下記も記載してください。


.vimrc

"" Go

filetype plugin indent on
syntax on

これでVimの設定は完了です。


コード補完、Lintの実行方法

コードの補完はオムニ補完を使えばOKですが、使い方は最初に上げたmattnさんの記事が断然参考になります。

mattnさんの記事に書かれていないLintの使い方ですが、単純に:Lintと打てばOKです。

少し触った感じですと、publicの関数・メソッドに対してコメントが書かれていない場合などに指摘してくれるようです。


TODO

この辺は対応して行きたい…


  • quickrunによるテスト

  • ソース保存時の自動フォーマット → 追記しました(2013-06-11)


ソース保存時の自動フォーマット (2013-06-11追記)

保存時に自動フォーマットを行うには、下記を.vimrcに追加してください。

これで保存時に有無を言わさず自動フォーマットがかかります。


.vimrc

auto BufWritePre *.go Fmt