1.#yum install php-manual-en
2.从http://php-mode.sourceforge.net/下载最新版php-mode
3.载后解压到某个位置,进入emacs,修改php-mode.el文件
php-mode设置的自动补全的功能键是M-tab,这有两个问题:a、M可以用ALT或者ESC输入,如果按ALT+tab就与系统设置的窗口切换键相同;b、即使用ESC取代ALT,也不会自动补全,提示“No tags table loaded; try M-x visit-tags-table”,这似乎是c-mode的自动补全功能键。所以必须修改这个功能键,这通过修改php-mode.el文件实现。打开php-mode.el文件,找到这里:
(define-key php-mode-map
[(meta tab)]
'php-complete-function)
修改为:
(define-key php-mode-map
[(control tab)]
'php-complete-function)
保存
4.使用M-x byte-compile-file命令编译php-mode.el源文件。然后将php-mode.elc拷贝到 .emacs.d/plugins/
5. .emacs配置
;;加载php-mode
(add-to-list 'load-path "~/.emacs.d/plugins/")
(require 'php-mode)
;;根据文件扩展名自动php-mode
(add-to-list 'auto-mode-alist '("\\.php[34]?\\'\\|\\.phtml\\'" . php-mode))
;;开发项目时,php源文件使用其他扩展名
(add-to-list 'auto-mode-alist '("\\.module\\'" . php-mode))
(add-to-list 'auto-mode-alist '("\\.inc\\'" . php-mode))
;;自动补全设置
(setq php-manual-path "/usr/share/doc/php-manual/en/html/")
;;因为php-model只设置了在窗口方式下的功能键M-tab。
(global-set-key [(control f6)] 'php-complete-function)