emacsにphp-modeを追加

大学のサーバーで開発する際にemacsを使っているのですが、そこにphp-modeが入っておらず、インデントをするに少し不便でした。ということで、php-modeを追加しました。

プロセス

  1. SourceForge.netphp-modeをダウンロードする。
  2. php-mode.elを所定の場所にコピーする。
  3. php-mode.elをバイトコンパイルする。
  4. .emacsを編集

以上のような段階を踏んで追加します。

1. php-modeをダウンロード

SourceForge.netからphp-modeをダウンロードします。今回ダウンロードしたバージョンは1.5.0ということでした。圧縮形式はtar.gzとzipがありましたけど、どっちでもいいと思います。今回はサーバー側ではなくクライアント(?)側で解凍したので。
解凍してphp-modeというディレクトリ(フォルダ)の中を見るといろいろファイルがあるわけですが、使うのはphp-mode.elというファイルだけです。

2. php-mode.elを所定の場所に置く

php-mode.elを置く場所は環境によって異なるとのことですが、僕が置いたのは/usr/local/share/emacs/site-lisp/の中でした。

3. php-mode.elをバイトコンパイルする。

僕はバイトコンパイルという言葉をここで初めて知ったんですが、バイトコンパイルはプログラムの実行速度を速める目的で行うようです。
方法は、php-mode.elをemacsで開き、M-x byte-compile-fileでEnterを押し、ファイル名を指定する(この場合は/usr/local/share/emacs/site-lisp/php-mode.el)。
すると、バイトコンパイルしてくれて、php-mode.elcというファイルが作成されます。

4. .emacsを編集する

.emacsに以下のような文を追加します。

;;php-mode
(load-library "php-mode")
(require 'php-mode)

.emacsがある場所はどこなのでしょうか。ルートディレクトリではありません。ホームディレクトリというべきなのでしょうか。cygwinで例えるならば、起動して最初にいる場所に.emacsはあるのではないでしょうか。(なかった場合は、自分で作ります)

さて、以上のやり方で成功する方は成功します。僕は、最初Cygwinで試してからサーバーの設定を変更しようと思ったのですが、結局Cygwinではエラーが出て成功せず、サーバーでは成功しました。何が悪かったのかはわかりませんけど、ますますCygwinが苦手になりそうです。

追記

mmm-modeというものもあるようです。これは、php-modeとhtml-modeを共存させるための方法のようで、PHPとHTMLは一緒に書くことが多いんで、便利なものかと思います。
まだ、やっていないのでわからないんですけど。