Go言語 学習メモ02 - vimでの開発環境構築
どうもです。次郎です。
やっと休みになったので、 VimでGo言語を開発するためにやったメモを残します。
目次
セットアップ環境
Linux Mint 18.2 Mate
セットアップ
書式設定
僕のVimの環境では、インデントの設定に下記の設定をしています。
- タブ文字を半角スペースに置換
- タブ文字の文字幅は2文字
Go言語のgo fmt
で自動整形されるとき、インデントはタブ文字で行われます。そこはGo
言語の習わしに合わせるようにしたほうがよいので、Go言語だけ異なる設定になるように
、vimの設定を追加します。
set noexpandtab set tabstop=4 set shiftwidth=4 inorea iferr if err != nil {<CR>fmt.Println(err)<CR>os.Exit(1)<CR>}<ESC>
上記の設定を$HOME/.vim/vimfiles/after/ftplugin/go.vim
のファイルに記述します。
iferrは、Goだと頻繁に発生するerr処理のためのスニペットです。個人利用する分だと、 err処理はos.Exit(1)で十分だと思ったので。
GOPATH環境変数を追加
$HOME/.bashrc
にGOPATHを追加します。
go getで追加されるパッケージはここに追加されます。
export GOPATH=$HOME/.go
gocodeのインストール
以下のコマンドをターミナルで実行します。
go get github.com/nsf/gocode
実行が終わると$HOME/.go
の配下にインストールされます。
vimプラグイン設定の追加
.vimrcにプラグイン読み込みの設定を追加します。
僕の環境では dein.vim を使用しているので、deinのコマンドを記述します。
call dein#add('fatih/vim-go') call dein#add('vim-jp/vim-go-extra')
上記をdeinの設定の箇所に追加してvimを起動しなおします。
次にvimのコマンドで
:GoInstallBinaries
を実行します。
処理が完了したら、下記の設定を.vimrcに追加します。
exe "set rtp+=".globpath($GOPATH, "src/github.com/nsf/gocode/vim")
結果
:Godoc packagename でドキュメントを読むことができませんでしたが、関数の補完や、 ファイル保存時に自動で整形、インポート追加が実行できることを確認しました。これで Go開発をスムーズに進められそうです。