`

【转载】在emacs下配置php-mode实现库函数自动补全

 
阅读更多
原文地址:http://blog.sina.com.cn/s/blog_632254bc01018abb.html



php-mode是emacs用于编辑php源代码的模式,继承了c-mode的所有特性,遵循PEAR的编码标准,搜索php的手册,代码补全,类浏览。这里介绍如何修改php-mode.el文件,配置.emacs文件实现php库函数的自动补全功能。
    一、安装:
    fedora的emaacs22版本自带的php-mode是1.4版本的,可以从http://php-mode.sourceforge.net/下载最新版:1.5。下载后解压到某个位置,进入emacs,使用M-x byte-compile-file命令编译php-mode.el源文件。然后将php-mode.elc拷贝到/usr/share/emacs/site-lisp目录,

    二、.emacs文件配置如下:
    ;;加载php-mode
    (add-to-list 'load-path "/usr/share/emacs/site-lisp")
    (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-manual-path目录,速度比较慢,可以使用方法二
    ;;首先设置变量php-completion代替php-manual-path
    (setq php-completion-file "~/.emacs.d/php/php-completion-file")
    ;;然后在sehll终端生成php-completion-file
    ;; $ cd /usr/share/doc/php-manual/en/html
    ;; $ ls -1 function*.html \
    ;;  | sed -e 's/^function\.\([-a-zA-Z_0-9]*\)\.html/\1/' \
    ;;  | tr - _ \
    ;;  > ~/.emacs.d/php/php-completion-file
    ;; 注:执行这步之前你必须安装php-manual-en软件包:yum install php-manual-en
    ;;设置emacs在console方式的自动补全的功能键为F9,如果使用emacs 的窗口方式则不必设置这个。
    ;;因为php-model只设置了在窗口方式下的功能键M-tab。
    (global-set-key [(f9)] 'php-complete-function)
   
    三、修改php-mode.el文件
    php-mode设置的自动补全的功能键是M-tab,这有两个问题:1、M可以用ALT或者ESC输入,如果按ALT+tab就与系统设置的窗口切换键相同;2、即使用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)
    保存,重新编译,复制php-mode.elc文件到/usr/share/emacs/site-lisp目录。
    如果不修改php-mode.el文件,也可以使用php-mode的自动补全功能,但必须使用菜单而不是快捷功能键了,因为无法输入M-tab,而使用菜单的话无疑太慢了。经修改后,在emacs的console方式可以用F9调用补全功能,在emacs的窗口方式则可以同时使用F9和C-tab。

转自:http://home.lupaworld.com/home-space-uid-28556-do-blog-id-121806.html
分享到:
评论

相关推荐

    emacs 和evil以及verilog mode全资源

    5. **配置Verilog Mode**:在Emacs配置文件中,启用Verilog Mode,添加`(add-to-list 'auto-mode-alist '("\\.v\\'" . verilog-mode))`,这将让Emacs自动在打开Verilog文件时启动Verilog Mode。 6. **获取资源**:...

    emacs python-mode 及使用方法

    也可以配置自动补全插件,如company-mode,以实现更智能的补全体验。 4. **交互式Python shell**:使用`C-c C-z`可以在Emacs内部启动一个新的Python Shell(通过`python-shell`命令),实现代码测试和调试。 5. **...

    haskell-mode emacs

    5. **Hoogle** 集成:Hoogle 是一个 Haskell 的搜索引擎,`haskell-mode` 可以直接在编辑器内搜索库函数,提供快速的文档查看。 6. **Cabal 支持**:对于 Cabal 项目,`haskell-mode` 可以帮助管理依赖,构建和测试...

    php-extras:Emacs的“ php-mode”的附加功能

    "php-extras" 是一个专为 Emacs 的 "php-mode" 扩展的增强包,它提供了许多实用的功能和改进,旨在提升 PHP 开发者在使用 Emacs 编辑器时的体验。这个扩展不仅包含了基本的语法高亮和代码补全,还引入了更高级的特性...

    php-mode-1.5.0

    总的来说,`php-mode-1.5.0` 是 `GNU Emacs` 用户在Linux环境下进行PHP开发的一个重要工具,它通过增加对PHP的语法高亮支持,提升了代码的可读性,同时也可能提供了其他便捷的开发辅助功能,使得在Emacs中编写PHP...

    emacs配置文件包含auto-complete color-theme 等

    首先,`auto-complete`是Emacs中的一个插件,它提供了一种自动补全功能,极大地提高了编程时的效率。当你在编写代码时,它会根据上下文自动提供可能的完成选项,包括函数、变量名和关键字。`auto-complete`不仅支持...

    Emacs的sql-mode扩展

    emacs在sql-mode模式下可以进行SQL编辑和测试。 支持Sybase,Oracle,MySQL和PostgreSQL。 放到site-lisp目录下,然后在.emacs中配置 (load-file (expand-file-name "E:/lispbox-0.7/emacs-23.2/site-lisp/sql-...

    emacs-64bit-on-mingw32

    在Windows平台上,Emacs可以通过Mingw32环境运行,而"emacs-64bit-on-mingw32"则提供了在32位Mingw32环境下运行64位Emacs的解决方案。这一版本的Emacs特别适合那些需要在Windows上利用Emacs的强大功能但又希望保持跨...

    emacs-25-x86_64-deps.zip

    在添加了这些库后,Emacs的org-mode可以顺利显示PNG格式的图片,这对于创建包含图像的富文本笔记和文档至关重要。 压缩包内的文件夹结构提供了如下信息: 1. **lib**:这个目录通常包含动态链接库文件(.dll或.lib...

    emacs常用配置文件,包括 行号显示、载入 主题、 org-mode常用配置

    emacs常用配置文件,包括 行号显示、载入 主题、 org-mode常用配置。下载后请放到 ~主目录下即可,或者自己新建一个.emacs,用记事本打开拷过去。

    jsx-mode.el, JSX代码的Emacs主要模式.zip

    jsx-mode.el, JSX代码的Emacs主要模式 jsx-mode.el----主要模式用法开始将这里文件放入你的Emacs lisp路径( 比如 。 ~/.emacs.d/site-lisp) 并添加到你的~/.emacs.d/init.el. 中(add-to-list

    使用 Emacs 进行 Perl 编程

    总结来说,使用 Emacs 进行 Perl 编程需要了解和配置 `cperl-mode`、`ido-mode`、`comment-dwim`、`hippie-expand` 和 `dabbrev-expand` 等功能。通过合理定制 `.emacs` 文件,结合 PDE 的功能,初学者可以快速适应...

    emacs-company-dict:ac-source-dictionary到company-mode的端口,以及注释和文档支持

    `emacs-company-dict`就是为了解决这种过渡的需求,使得用户可以在`company-mode`下继续使用字典补全。 `emacs-company-dict`的主要特点包括: 1. **字典支持**:它允许用户利用已有的`ac-source-dictionary`配置...

    python补全示例图片

    对于Python开发,Emacs提供了一些专门的插件,如`elpy`(Emacs Python Development Environment)、`company-mode`(通用补全框架)以及`pycomplete`等,这些插件可以实现智能补全功能。 1. **Elpy**: `elpy`是Emacs...

    emacs org-mode教程

    - **在 Emacs 启动时自动加载**:在 `.emacs` 或 `.emacs.d/init.el` 文件中添加 `(require 'org)` 来自动加载 Org-Mode。 - **手动加载**:在 Emacs 中输入 `M-x org-mode` 命令来手动加载 Org-Mode。 **1.4 反馈*...

    Org-mode简明教程.pdf

    安装 Org-mode 的步骤包括将 Org-mode 的路径添加到 Emacs 的 load-path 中,加载 Org-mode 包,并定义一些基本的快捷键。例如,定义了 C-c l 和 C-c a 分别对应 org-store-link 和 org-agenda 功能。 3. **配置...

    cc-mode 手册

    - **Java**:提供 Java 语言的全面支持,包括语法检查、自动补全等。 - **CORBA IDL**:支持 CORBA 的 IDL 文件编辑。 - **Pike**:提供 Pike 语言的编辑支持。 - **AWK**:尽管 AWK 的集成程度不如其他语言,但仍然...

    verilog mode for emacs (quick tips)

    Verilog-Mode 是一个专为 Emacs 设计的模式,用于改善在 Emacs 编辑器中编写 Verilog 代码的体验。Verilog 作为一种常用的硬件描述语言(HDL),广泛应用于数字电路设计、验证等领域。随着项目的复杂性增加,编写 ...

    rust-mode:Rust的Emacs配置

    rust-mode使使用Emacs编辑Rust代码变得很愉快。 它需要Emacs 25或更高版本,并且默认包含在Emacs Prelude和Spacemacs中。 此模式提供: 语法高亮(用于字体锁定模式) 缩进 与Cargo,Clippy和rustfmt集成 该模式...

    emacs配置-python开发环境

    7. **Company**:Emacs的代码补全框架,与Python模式和其他相关插件配合,可以提供强大的自动补全功能。 8. ** projectile**:项目管理工具,方便在多个Python项目间切换。 9. **yas/minor-mode**:Yasnippet提供...

Global site tag (gtag.js) - Google Analytics