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かと思います。

日別に記事を見る