LoginSignup
13
14

More than 5 years have passed since last update.

EmacsにElixir関係のmodeを追加しようとして色々つまずいた話

Posted at

package-install可能なmodeの調査

M-x package-list-package
でElixir関係のmodeをしらべてみると

  • elixir-mode
  • alchemist
  • flymake-elixir
  • elixir-mix
  • ob-elixir

などが見つかる。
elixir-modeはElixir用のメジャモード。
alchemistはemacs上でコード補完を行ったり、指定したリージョンを実行したりする機能を追加するモード。
flymake-elixirは、名前からしておそらく構文チェッカー。
elixir-mixとob-elixirは, それぞれmixとiexをemacsから呼び出すためのラッパーのようである。

alchemistが多機能で便利らしいので、とりあえずelixir-modeとalchemistをインストールすることにする。

elixir-mode

M-x package-install [RET] elixir-mode [RET]
あとは, init.elでmodeを読み込むようにする。

init.el
(require 'elixir-mode)

init.elをリロード後、試しにexファイルを開いてみて
スクリーンショット 2016-02-15 16.23.04.png
メジャモードとしてElixirが選択されていればOK.

alchemistのインストール

Githubの説明を参考にインストール
M-x package-install [RET] alchemist [RET]

すると、

Package `emacs-24.4' is unavailable

と表示されて失敗。どうやら、emacsの24.4以降が必要なようだ。
Cent7のyumでemacsをインストールした場合、24.3がインストールされてしまうので、
こちらのサイトを参考に24.4をインストールする。
emacs24.4.1をインストールしたりGitのバージョンを上げたりした(magitを入れ直した際に要求された)、散々寄り道した末、ようやくpackage-install成功。

init.el
(require 'alchemist)

と設定ファイルに追加して、exファイルを開くと…

スクリーンショット 2016-02-15 18.22.05.png
無事導入完了。
alchemistにはphoenix用のモードも含まれていたらしく、alchemist-phoenixというモードも有効になっている。

ついでに、コード補完をauto-completeに変更するac-alchemistも導入することにする。
M-x package-install [RET] ac-alchemist [RET]
とpackage-installして, init.elに以下を追加
init.el
(add-hook 'elixir-mode-hook 'ac-alchemist-setup)

すると
スクリーンショット 2016-02-15 18.34.25.png
と無事auto-completeが有効になりました。

最後に

今回はpackage-installを使ってインストールを行いましたがEl-getにも対応しているようなので
複数環境でinit.elを使いまわしたい場合は、そちらを使って定義したほうが良いと思われます。

参考サイト

EmacsでElixirのコードを書いて、IExで即座に実行 : http://qiita.com/__hage/items/577c0dba7bab9ec4f3a1

Elixir の Emacs でのコード補完を auto-complete : http://qiita.com/naoya@github/items/8d6856c64a2e3b9fa208

CentOS6.6 に Emacs24.4 : http://akiki2starlet.blog.fc2.com/blog-entry-4.html

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14