Emacs でGo lang を利用する方法
@asya_aoi1049 on Tue Jan 08 2019
3.7 min
目次
はじめに
Emacs にGo lang 環境を設定する方法はいくつかあるのですが、Goの環境変数やその他設定の漏れがあったりと、まともな記事がなかったので完全保存版を作ってみました。
前提
- ubuntu (Linux Mint)
- zshを利用していること
- emacsがインストール済みであること
Go langのインストール
Go langをインストールします。
sudo apt install golang
rehash
Go langの環境変数を確認
ここでGo langの go env で表示されるパラメータと環境変数は異なることため、注意が必要です。
/usr/bin/go env
Go langのパス設定
Go langを扱うために必要なパスを設定します。
vi .zshrc
# 以下の内容を書き込み
# Go lang
[ -d "$HOME/go" ] && export GOPATH=$HOME/go && export PATH=$GOPATH/bin:$PATH
# ここまで
zshrcを読み込みます。
source ~/.zshrc
パッケージのインストール
ここでは私的にインストールしておくべきパッケージをインストールします。
go get github.com/rogpeppe/godef
go get -u github.com/nsf/gocode
go get github.com/golang/lint/golint
go get github.com/kisielk/errcheck
Emacs へのパッケージインストール
Emacsに Go lang関連パッケージをインストールします。
Emacsを起動して以下のコマンドを入力します。
M-x package-install go-mode
M-x package-install flycheck
M-x package-install exec-path-from-shell
M-x package-install auto-complete
M-x package-install go-autocomplete
Emacs の設定
以下の設定 ~/.emacs.el または ~/.emas.d/init.el に記載します。
;; --- exec path from shell ---
(exec-path-from-shell-initialize)
;; --- go mode
(require 'go-autocomplete)
(require 'auto-complete-config)
(add-hook 'go-mode-hook 'flycheck-mode)
Emacsを再起動して確認してみて下さい。
最後に
ランチャ等からEmacsを起動させる場合は、Go langを利用するためには、Go langが使用する環境変数をEmacsにきちんと認識させる必要があります。
そこで、今回はexec-path-from-shellを利用しましたが、個別に add-to-list にてGo lang周りのパスを設定してもOKかと思います。
日別に記事を見る