Emacsへのphp-mode, php-completion の導入方法

下記の参考資料通りにやってみたところいくつかエラーが出たので、試行錯誤して正常にインストールできた手順をメモ。

前提

必要なパッケージのインストール

M-x package-install-package でパッケージの一覧を表示し、以下のパッケージをインストールする。

  • cl-lib
  • anything
  • auto-complete
  • php-mode
  • php-completion

cl-libはphp-modeインストール時に一緒に入るが、それ以外は個別に入れること

init.elの設定

init.elに以下のスクリプトを追記。(入力補完は C-oバインドしていますが、他のキーにしたい場合は (kbd "C-o") の部分を変えてください)

(require 'php-mode)
(add-hook 'php-mode-hook
      (lambda ()
        (require 'php-completion)
        (php-completion-mode t)
        (define-key php-mode-map (kbd "C-o") 'phpcmp-complete)
        (make-local-variable 'ac-sources)
        (setq ac-sources '(
                   ac-source-words-in-same-mode-buffers
                   ac-source-php-completion
                   ac-source-filename
                   ))))

2016/07/02追記

別の環境でインストールしようと思ったら、パッケージリストにphp-completionが出てこなかったので原因調査中です… →php-completionパッケージはmelpaではなくmarmaladeにありましたので前提に追記。

参考資料

PHPを扱うようになったのでemacsにphp modeを入れてみた。 - Qiita