UbuntuとEmacsでGo言語の環境構築
こんばんは,大晦日ですが僕は大学です.
最近よく聞くGo言語を使ってみたく,Xubuntu 13.04,Emacs 24.3での開発環境を構築してみました.
Mercurialのインストール
Go言語はMercurialでバージョン管理されてるので,インストールします.
PPAを追加して,最新版をインストールします.
$ sudo add-apt-repository ppa:mercurial-ppa/releases $ sudo aptitude update $ sudo aptitude install mercurial
Go言語のインストール
環境変数の設定
以下の内容を.bashrcや.zshrcに追加する.
export GOROOT=$HOME/go export GOOS=linux export GOARCH=amd64 # 32bitの場合は386 export GOBIN=$HOME/bin export GOPATH=$HOME/.go export PATH=$GOBIN:$PATH
Emacsの設定
パッケージの追加
定義ジャンプで必要なgodefと,補完で必要なgocodeをインストールする.
$ go get code.google.com/p/rog-go/exp/cmd/godef $ go get -u github.com/nsf/gocode
EmacsLispの準備
load-pathを通したディレクトリに必要なEmacsLispファイルをコピーする.
$ mkdir /load/path/go-mode $ cd /load/path/go-mode $ cp $GOROOT/misc/emacs/* . $ cp $GOPATH/src/github.com/nsf/gocode/emacs/* .
設定の追加
以下の内容を.emacs.d/init.elなどに追加する.
(require 'go-mode-load) (require 'go-autocomplete) (add-hook 'go-mode-hook '(lambda() (setq tab-width 2) (setq indent-tabs-mode t) (local-set-key (kbd "M-.") 'godef-jump) (local-set-key (kbd "C-c C-r") 'go-remove-unused-imports) (local-set-key (kbd "C-c i") 'go-goto-imports) (local-set-key (kbd "C-c d") 'godoc) (add-hook 'before-save-hook 'gofmt-before-save)