我的开发大多数是在vim中进行的,所以ctags对我来说就像是一把利器。俗话说的好,公欲善其事,必先利其器。现在设计到了服务器段php的开发,突然发现ctags对php建的tag已经不怎么好用了,究其原因,就是ctags对php的一些关键字的不认识,导致ctags对很多函数都没有建索引,这些关键字分别是abstract,public,private,protected,static。好,下面就来解决这个问题。
网上搜了很多,好多人都是用正则表达式,在建tag的时候加在ctags的命令参数中,但是我试了好多始终有问题,这让我非常头痛。晚上闲来无事,看看还有没有其他什么解决办法,突然发现有人解决办法是网ctags源码中打补丁,下面来详细讲解一下。
1. 下载ctags源码包。
2. 下载ctags-php5.patch
wget http://svn.bitflux.ch/repos/public/misc/ctags-php5.patch
3. 解压ctags源码包后,对源码包里的php.c文件打补丁。 #patch php.c ctags-php5.patch
这样,ctags对php的支持就比较好了。其事万变不离其中,看一下这个补丁文件,无非也就是加入了对上面说的几个关键字的匹配。
4. 安装ctags。 # ./configure --prefix=/opt/ctags && make && make install
5.替换原来的ctags。 #cp /opt/ctags/bin/ctags /usr/bin
试一下吧,原来建不了得tag现在都搞定了,一切就是那么轻松。