Emacser  - 讨论区

标题:[修改]PHP-mode之Emacs实现自动提示

2010年07月21日 星期三 10:49

这里主要感谢“土豆”提供的一个日本emacser 的博客网站地址,在哪里看到详细的配置,我也是按照步骤配置的,结果成功了。不过还需要改进,有点别扭,

 

得知此配置的网站:http://d.hatena.ne.jp/IMAKADO jump

 

首先将这个文件download下来,放在一个路径里面。我的就放在 ~/.emacs.d/php/下面

wget http://www.emacswiki.org/cgi-bin/wiki/download/install-elisp.el

将此文件加载到配置文件中去。
(add-to-list 'load-path "~/.emacs.d/php/")
(require 'install-elisp)
(setq install-elisp-repository-directory "~/.emacs.d/php/");;设置使用install-elisp-from-emacswiki 后下载下来的文件路径,我把它们放在一个文件夹里面

然后使用M-x将相关的文件get download下来,不用管它会怎么样,因为我们设置了下载路径,自动会下载到那个路径文件夹里面。(* 注意,Pagename输入后 他会自动打开,你需要执行C-c C-c 进行编译。)
M-x:
   install-elisp-from-emacswiki
Pagename:
   anything.el
M-x:
   install-elisp-from-emacswiki
Pagename:
   anything-match-plugin.el
M-x:
   install-elisp-from-emacswiki
Pagename:
   auto-complete.el


;;完成后在.emacs  加入此句代码 :

(locate-library "auto-complete.el")

;;然后重新载入下.emacs 文件。跟前面的操作一样,我们的PHP配置文件给弄下来编译。
M-x:
   install-elisp-from-emacswiki
Pagename:
   php-completion.el

;;php 自动提示设置

(add-hook 'php-mode-hook
      (lambda()
        (require 'php-completion)
        (php-completion-mode t)
        (define-key php-mode-map (kbd "C-c p") 'phpcmp-complete)
        (when (require 'auto-complete nol t)
          (make-variable-buffer-local 'ac-sources)
          (add-to-list 'ac-sources 'ac-source-php-completion)
          (auto-complete-mode t))))

 

截图

 

2010年07月21日 星期三 11:04

:)

2010年07月21日 星期三 11:05

:)

2010年07月21日 星期三 11:07

你该上图,吸引一下大家都眼球!

2010年07月21日 星期三 11:21

我也上一个图!

2010年07月21日 星期三 11:23

强,顶!

2010年07月21日 星期三 11:46

土豆原来是 高手啊。!!!

                PHP。。。我只是个菜鸟!

2010年07月21日 星期三 14:06

感谢分享。。。。。

2010年07月21日 星期三 14:09

我真的很菜...刚刚开始用emacs,以前用vim

2011年02月19日 星期六 23:34

楼主你好

我按照你的配置,却发现自动提示是在一个独立的buffer中,请问这是为什么?(后有配置代码)

;;php-mode

(require 'php-mode)

;;根据扩展名绑定

(add-to-list 'auto-mode-alist '("\\.php[34]?\\'\\|\\.phtml\\'" . php-mode))

(add-to-list 'auto-mode-alist '("\\.module\\'" . php-mode))

(add-to-list 'auto-mode-alist '("\\.inc\\'" . php-mode))

 

;;auto-complete

(require 'auto-complete)

(locate-library "auto-complete.el")

;;php 自动提示设置 

(add-hook 'php-mode-hook 

      (lambda() 

        (require 'php-completion) 

        (php-completion-mode t) 

        (define-key php-mode-map (kbd "C-c p") 'phpcmp-complete) 

        (when (require 'auto-complete nol t) 

          (make-variable-buffer-local 'ac-sources) 

          (add-to-list 'ac-sources 'ac-source-php-completion) 

          (auto-complete-mode t))))

2011年02月20日 星期日 12:54

我是这样弄得。

 

(add-hook 'php-mode-hook

(lambda ()

(require 'php-completion)

(php-completion-mode t)

(define-key php-mode-map (kbd "C-o") 'phpcmp-complete)))

 

 

(add-hook  'php-mode-hook

(lambda ()

(when (require 'auto-complete nil t)

(make-variable-buffer-local 'ac-sources)

(add-to-list 'ac-sources 'ac-source-php-completion)

;; if you like patial match,

;; use `ac-source-php-completion-patial' instead of `ac-source-php-completion'.

(add-to-list 'ac-sources 'ac-source-php-completion-patial)

(auto-complete-mode t))))

2011年02月20日 星期日 12:56

让AC 识别  php-completion

2011年02月20日 星期日 13:04

应该是一个message buffer..按Q能退出的。。。。

 

2011年02月20日 星期日 13:33

回小包

我的意思是像你的那样,让提示跟着光标,而不是分屏显示

2011年02月20日 星期日 13:40

look   post!!~~~~

 

 

2011年02月20日 星期日 13:57

我试验的了土豆的方法,还是不行

2011年02月20日 星期日 16:15

搞定了,是 (locate-library "auto-complete.el")应该放在自动提示配置设置的后面

2011年02月20日 星期日 16:15

除了自动提示,手动打开提示的快捷键是?

2011年02月20日 星期日 16:18

那恭喜,alt-/  我记得默认设置的是这个。。   可以自己绑定。。 

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号