EmacsでPHP開発の環境設定(2)
以前、EmacsでPHP開発の環境設定を試みたが、うまく設定できずにまた今度設定し直すとしたが、今回改めて設定を試みた。
2011-02-16 - SE街道まっしぐら
うまく行かなかったのは、CentOSで以前は、php-modeのインストールに失敗していたが、Emacs21を利用していて、それに対応していないphp-mode-1.5.0のバージョンのelispを設定しようとしていたのが原因だった。つまりは、Emacs23対応のelispを適用しようとして失敗していた。・・・残念だわ。
その原因を踏まえ、今回は、以下の方法でEmacsのインストール・設定を行い、PHPの開発環境の設定を行った。
まず、さくらのVPS(CentOS 5.5)から、Emacs21のアンインストールを行った。
$ rpm -qa | grep -i emacs emacs-common-21.4-20.el5 emacs-21.4-20.el5 emacs-el-21.4-20.el5 $ sudo rpm -e emacs $ sudo rpm -e emacs-el $ sudo rpm -e emacs-common
その後、rpmのリポジトリに存在していないので、以下のように外部のリポジトリから取得する。
$ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/emacs-23.2-13.x86_64.rpm $ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/emacs-common-23.2-13.x86_64.rpm $ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/emacs-el-23.2-13.x86_64.rpm $ wget ftp://sea-mew.jp/rpms//el5/x86_64.corei7/hunspell-1.2.8-1.x86_64.rpm $ sudo rpm -Uvh emacs-common-23.2-13.x86_64.rpm $ sudo rpm -Uvh emacs-el-23.2-13.x86_64.rpm $ sudo rpm -Uvh hunspell-1.2.8-1.x86_64.rpm $ sudo rpm -Uvh emacs-23.2-13.x86_64.rpm
前回の設定で、php-mode-1.5.0のインストール・設定は済ませていたので、ここでは割愛する。
PHPの補完機能のelispとして、php-completionをインストールする。インストールの順序は、install-elisp.elを使ってphp-completion.elをインストールする。
M-x install-elisp-from-emacswiki anything.el -> C-c C-c M-x install-elisp-from-emacswiki anything-match-plugin.el -> C-c C-c M-x install-elisp-from-emacswiki auto-complete.el -> C-c C-c M-x install-elisp-from-emacswiki php-completion.el -> C-c C-c
php-comletion.elの設定のために、.emacsに以下の設定を記述する。
(add-hook 'php-mode-hook (lambda () (require 'php-completion) (php-completion-mode t) (define-key php-mode-map (kbd "C-o") 'phpcmp-complete) (when (require 'auto-complete nil t) (make-variable-buffer-local 'ac-sources) (add-to-list 'ac-sources 'ac-source-php-completion) (auto-complete-mode t))))
emacsを再起動後、php-completionが有効になっているかどうかを確認する。test.phpを新規作成した後に、aとタイプしてC-oコマンドで候補のリストが表示されることを確認する。問題なく表示されれば、インストール・設定、完了。めでたし。