本博之前有写过一篇vim+php.exe检查php语法的文章-在vim中检查php语法格式,这种方式的优点是只依赖php环境本身,但缺点也很明显:检查并不严格,很多错误检查不出来。 所以我们考虑使用另一个语法检查工具-ZendCodeAnalyzer. 博友梧桐之前在博客中咨询该怎么写ZendCodeAnalyzer的errorformat,所以这里放出代码如下:
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 ...