Erlang World


top > erlang > emacs erlang-mode

emacs Erlang mode

emacsのErlangモード

Erlangのプログラムを記述するには、何らかのエディタを使用する必要があります。特に拘りのあるエディタが 無いのであれば、Erlangを書くのに適しているemacsを使うことを推奨します。
なぜemacsを使うのかというと、emacsにはErlangのプログラムを作成するのを補助してくれる機能が存在するからです。

emacsの支援機能を使うことによって、プログラムの意味のあるまとまりごとに色を変えてくれたり、 Erlangに適したインデントを自動で行なったりしてくれます。

ただし、関数の補完機能などはあまりないため、そういったものを使いたいのであればIDE(統合開発環境)を検討することをお勧めします。

emacsがある場合はその設定ファイルにerlangモードを導入するための記述を行なうことで、 emacsのerlang-modeが簡単に使えるようになります。
まずemacsの設定ファイルがホームディレクトリに存在するか確認してみます。

ada:~ yuichi$ cd
ada:~ yuichi$ ls -a

.                               .jude                           Pictures
..                              .lpoptions                      Public
.CFUserTextEncoding             .mysql_history                  Sites
.DS_Store                       .netbeans                       Tex
......

隠しファイルを含めたディレクトリの中にあるファイル群が表示されました。
この中に設定ファイルである .emacs が存在するか調べて下さい。

存在する場合はそのファイルを開きます。存在しない場合は新しく設定ファイルを作成します。
存在しても、存在しなくても操作は同じです。

ada:~ yuichi$ emacs .emacs

ファイルが開けたと思いますので、ここに以下の表現を書き加えて下さい。

(setq load-path (cons  "/usr/local/erlang/lib/tools/emacs"
      load-path))
      (setq erlang-root-dir "/usr/local/erlang")
      (setq exec-path (cons "/usr/local/erlang/bin" exec-path))
      (require 'erlang-start)

パス名は各自の構成に合わせて下さい。
私は "usr/local" 下に "erlang" という名前で登録を行なっているので上の例のようになっています。
また、パスの "usr/local/erlang/lib/tools/emacs" の部分にある、"tools" はバージョンなどが記載されていることがある可能性があるため、 自分の構成に合った表現に置き換えて下さい。

emacsで上書き保存をする場合は、キーControlを押しながらx,Controlを押しながらs、と入力すれば大丈夫です。

Erlangモードの利用

M-x erlang-mode RET でerlangモードを起動することが可能です。

emacsユーザで無い人のためにもう少し説明すると、 「 M-x 」とはメタタグを押しながらxを押すという意味です。多くのキーボードにはメタタグなんてものはないと思うので、 その場合は Esc(エスケープ) を押した後に x を押せば大丈夫です。
そして次に erlang-mode と打ち込みます。そして改行ボタンを押せばerlangモードが起動されます。

起動できない場合は、設定に何らかの不備があると思いますので確認してみて下さい。

emacsについて

MacOSXのGUI上でemacsを使うには以下のパッケージが便利です。
Carbon Emacs

emacsを利用する際に参照になるサイトを貼っておきます。
Emacsクイックリファレンス

書籍としては以下のようなものがあります。
入門 GNU Emacs 第3版 (大型本)
便利なツール Emacsらくらく入門 (単行本)


Yuichi ITO. All rights reserved.
mail to : ad
inserted by FC2 system