vim的symfony2开发环境配置

安装

最近在用Symfony2框架进行开发,正所谓工欲善其事必先利其器。为了提高开发效率,因此将vim配置为symfony的IDE。


我安装的是phpcomplete-extended-symfony这款插件 https://github.com/m2mdas/phpcomplete-extended-symfony


它有些依赖在文档中没写清楚,我也是折腾了好久才搞定的,于是做个笔记记录一下。


我总共安装了以下插件:



  • neocomplete.vim

  • vimproc.vim

  • unite.vim

  • phpcomplete.vim

  • phpcomplete-extended

  • phpcomplete-extended-symfony

  • vim-twig


我是使用的Vundle进行vim插件管理,因此在 .vimrc 配置中添加以下内容:


Bundle ‘Shougo/neocomplete.vim’
Bundle ‘Shougo/vimproc.vim’
Bundle ‘Shougo/unite.vim’
Bundle ‘shawncplus/phpcomplete.vim’
Bundle ‘m2mdas/phpcomplete-extended’
Bundle ‘m2mdas/phpcomplete-extended-symfony’
Bundle ‘evidens/vim-twig’

然后再执行BundleInstall命令进行下载安装。


注意:vim-twig插件不是必需的,安装它只是为了编写twig模板时能够高亮。


使用


接下来说说使用流程。


1.vimproc需要编译

进行vimproc的安装目录,执行make命令进行编译。详细内容请阅读它的README文件。


2.安装ctags工具

由于当前的ctags工具不支持PHP的新特性,如命名空间、traits、interface,于是就需要给ctags打补丁。


下载打过补丁的ctags源代码:


$ wget “https://github.com/shawncplus/phpcomplete.vim/blob/master/misc/ctags-better-php-parser.tar.bz2?raw=true“ -O ctags-better-php-parser.tar.bz2

编译安装:


$ tar xvjf ctags-better-php-parser.tar.bz2
$ ./configure
$ make
$ sudo make install

3.安装 composer.phar


$ curl -s https://getcomposer.org/installer | php

4.修改vim配置

在vim中添加如下配置:


au FileType php setlocal omnifunc=phpcomplete_extended#CompletePHP
let g:phpcomplete_index_composer_command = ‘composer.phar’

5.开始使用

进入Symfony项目的根目录,执行命令生成tags文件:


$ ctags -R –fields=+aimS –languages=php

然后使用vim打开该tags文件,根据提示创建索引文件。完成之后索引文件会创建在 .phpcomplete_extended 目录中。下次在项目的根目录下打开vim,如果提示 “Index Loaded.”则表示配置成功了。接下来编写代码时就会有补全提示以及use语句的自动补全了。


注意:在使用该插件时需要把自动切换目录功能给禁用掉,添加设置: set autochdir! 。否则会出现无法加载索引,从而补全不了。这个问题在文档中没说,我也是折腾了好久才发现的。