vim(gvim)配合ZendCodeAnalyzer检查php语法
Published on 一月 10, 2011
本博之前有写过一篇vim+php.exe检查php语法的文章-在vim中检查php语法格式,这种方式的优点是只依赖php环境本身,但缺点也很明显:检查并不严格,很多错误检查不出来。
所以我们考虑使用另一个语法检查工具-ZendCodeAnalyzer.
博友梧桐之前在博客中咨询该怎么写ZendCodeAnalyzer的errorformat,所以这里放出代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | map <F7> :call CheckPHPSyntax()<CR> function CheckPHPSyntax() let php_check_syntax_cmd='ZendCodeAnalyzer --disable var-arg-unused' let exeFile = expand("%:t") let &makeprg = php_check_syntax_cmd set errorformat=%f(line\ %l):\ %m silent make % if len(getqflist())>2 call setqflist(remove(getqflist(),2,-1)) copen else cclose normal : echohl WarningMsg | echo "Check over,No error!" | echohl None endif endf |
把ZendCodeAnalyzer放到环境变量中后,在vim中按下F7即可调用进行语法检查了,如下图:
由于网站流量的限制,ZendCodeAnalyzer的windows和linux版本就不放出下载了,大家有需要在下面留言即可,我晚上会统一发送。
附:
其实这里还有个遗憾,就是没能做成像pyflakes一样的实时语法检查,之前尝试过实时检查,发现每次启动进程速度还是太慢了,可能需要考虑新的方法,这里如果有博友有好方法,欢迎不吝告知。
原创文章,版权所有。转载请注明:转载自Vimer的程序世界 [ http://www.vimer.cn ]
本文链接地址: http://www.vimer.cn/?p=1931

哇哈哈,我果然是沙发王。。感谢博主啦
[回复]
博主的这一句
let php_check_syntax_cmd=$’ZendCodeAnalyzer –disable var-arg-unused’
$是不是要去掉?
[回复]
Dante 回复:
一月 11th, 2011 at 9:36 上午
呃,有用的,是要给makeprg赋值~
[回复]
梧桐 回复:
一月 11th, 2011 at 5:06 下午
不好意思,可能是我vim问题..我加了$就报错..去掉就可以用了..
[回复]
Dante 回复:
一月 11th, 2011 at 5:44 下午
啊,杯具啊,是我多copy了一个$符号。。。汗死,在手机上没看清。。
[回复]
梧桐 回复:
一月 11th, 2011 at 6:49 下午
哈哈
[回复]
我也很需要pyflakes那样的实时语法检查,就是扔不掉eclipse的原因。
[回复]
Dante 回复:
一月 11th, 2011 at 9:37 上午
嗯,如果有python写的php语法分析库就能完美解决了,不过至今一直没找到。
[回复]
谢谢博主,求windows下的ZendCodeAnalyzer~
另外问一下,我使用:make命令和:cl命令出现的都是乱码。问了好几天了,都没找到解决方案。有没有什么好的解决方式?谢谢博主~
[回复]
Dante 回复:
二月 17th, 2011 at 8:45 下午
:redraw!
或者ctrl+l
就可以强制刷新了。
文件已经发送,请查收~~
[回复]
需要一个 zend code anlyzer
[回复]
我也需要一个zend code anlyzer,不知道是什么版本的,谢谢了..
[回复]
Dante 回复:
四月 2nd, 2011 at 9:45 上午
邮件已经发送,请查收。
[回复]
bdancerlc 回复:
四月 2nd, 2011 at 3:15 下午
收到了,嘿嘿,谢谢了!..
[回复]
需要一个 windows 版本的,谢谢博主。
[回复]
Dante 回复:
四月 7th, 2011 at 10:30 上午
已经发送,请查收。
[回复]
你好,我需要zend code anlyzer,linux版 ,如果方便windows版也请发一下
[回复]
Dante 回复:
四月 10th, 2011 at 2:03 下午
邮件已经发送,请查收~~
[回复]
麻烦linux,windows的zend code anlyzer都给个,哪位有的也可以发我,noohou@qq.com,多谢
[回复]
Dante 回复:
四月 18th, 2011 at 11:40 上午
已经发送,请查收~~~
[回复]
noohou 回复:
四月 20th, 2011 at 1:30 下午
多谢
[回复]
请发一份linux的zend analyzer 到mr.jasonzh@gmail.com,谢谢先!
[回复]
Dante 回复:
五月 1st, 2011 at 12:28 下午
已发送,请查收~
[回复]
站长,麻烦发一下zendcodeanalyzer的windows办给我,邮箱是abcdalong@163.com,谢啦!
[回复]
Dante 回复:
五月 6th, 2011 at 6:37 下午
已经发送,请查收
[回复]
大龙 回复:
五月 6th, 2011 at 7:20 下午
谢谢站长,我已经收到了!
[回复]
同求zendcodeanalyzer的win版和linux版。。。
star-yj#163.com
不胜感谢。
[回复]
Dante 回复:
五月 9th, 2011 at 11:16 下午
已经发送,请查收~~~~
[回复]
急需这个插件 不胜感激啊
[回复]
Dante 回复:
五月 26th, 2011 at 11:58 下午
已经发送,请查收~~~~~
[回复]
想要一个linux版本的谢谢
[回复]
Dante 回复:
五月 29th, 2011 at 11:40 上午
已经发送
请查收~
[回复]
给我一份,谢谢
[回复]
Dante 回复:
七月 10th, 2011 at 2:16 上午
已经发送
请查收
[回复]
我也需要,windows和linux的都要。谢谢!
[回复]
Dante 回复:
七月 10th, 2011 at 2:15 上午
已发送
请查收~~~
[回复]
我也需要一个linux版的,谢谢了~~~
[回复]
Dante 回复:
七月 10th, 2011 at 2:14 上午
已发送
请查收~~~
[回复]
我也需要,WIN和LINUX的..谢谢楼主,辛苦了
[回复]
Dante 回复:
七月 10th, 2011 at 2:14 上午
已发送
请查收~~
[回复]
博主,您好,我需要一个zendcodeanalyzer,谢谢
[回复]
Dante 回复:
七月 10th, 2011 at 2:14 上午
已发送
请查收~
[回复]
找遍整个网络了也没有可用的下载啊,麻烦站长大人把两个版本的都发给我吧,多谢多谢~~
rocxdp(at)sina(dot)com
[回复]
Dante 回复:
七月 18th, 2011 at 11:58 下午
已经发送
请查收~~~
[回复]
今日能够来博主的博客看看,真是我极大的收获!以后一定向博主好好学习VIM的使用!
今天才知道VIM有多好,就像白粉一样!一用就上瘾了!呵呵
麻烦博主给俺也发一份吧!
小弟是PHPer菜鸟,先谢过博主了!
[回复]
对了,希望您可以把两个平台的都发给俺!谢谢!
[回复]
Dante 回复:
八月 2nd, 2011 at 5:54 下午
已经发送,请注意查收
~
[回复]
需要zendcodeanalyzer一个,谢谢~~
[回复]
Dante 回复:
八月 27th, 2011 at 9:38 下午
已发送
请查收。
[回复]
麻烦给我发一个linux版的。。 谢谢
[回复]
Dante 回复:
八月 27th, 2011 at 9:38 下午
已发送,请查收。。
[回复]
麻烦发一份哦,windows和linux的,谢谢LZ
owner888@163.com
[回复]
Dante 回复:
八月 27th, 2011 at 9:38 下午
已发送,请查收。。。
[回复]
麻烦也我发一份吧,windows和linux的,谢谢LZ了,我是php初学者
[回复]
fenge 回复:
八月 19th, 2011 at 11:16 上午
我的邮箱xiaoxiongmao.2005@hotmail.com
[回复]
Dante 回复:
八月 27th, 2011 at 9:38 下午
已发送,请查收
[回复]
能给我发一份么? windows和linux。谢谢版主了。
我的邮箱是badboy5457@sohu.com
[回复]
Dante 回复:
八月 27th, 2011 at 9:38 下午
已发送,请查收。。。。
[回复]
小强 回复:
八月 29th, 2011 at 8:07 下午
十分的感谢
[回复]
能否发一份ZendCodeAnalyzer的windows和linux版本
3Q
我的电邮 fhefh#vip.qq.com 请将#=>@
[回复]
Dante 回复:
八月 27th, 2011 at 9:39 下午
已发送,
请查收。
。
[回复]
能否发一个ZendCodeAnalyzer 在网上找了好长时间了 都没有 3Q
[回复]
Dante 回复:
八月 27th, 2011 at 9:39 下午
已发送,请查收,。。
[回复]
谢谢,正在学习PHP,刚好需要!
[回复]
求windows版,网上找不到地址下载。。。。
[回复]
lz好东西啊
给我发一个,谢了
[回复]
同求ZendCodeAnalyzer(windows),网下找不到啊!!
[回复]
linux 下的ZendCodeAnalyzer。。
[回复]
求发一份ZendCodeAnalyzer的windows和linux版本
fredyj @ 163.com
[回复]
Dante 回复:
十二月 14th, 2011 at 8:34 下午
已经发送哦
[回复]
有点javascriptLint的感觉。
[回复]
求一份Windows版的,请发到留言Email,谢谢!
[回复]
求发一份ZendCodeAnalyzer的windows版本
如果有实时检测就更好了~
[回复]
楼主 求ZendCodeAnalyzer linux版 谢谢了
[回复]