[已解决]请教一个函数问题

Vim、Emacs配置和使用
回复
iny
帖子: 142
注册时间: 2008-05-22 9:43

[已解决]请教一个函数问题

#1

帖子 iny » 2009-06-03 18:50

function! CheckPHPSyntax()
setlocal makeprg=E:/PHP/php.exe\ -l\ -n\ -d\ html_errors=off
setlocal shellpipe=>
" Use error format for parsing PHP error output
setlocal errorformat=%m\ in\ %f\ on\ line\ %l
make %
endfunction
map <F4> :call CheckPHPSyntax()<CR>
这是我在网上找到的一段检查PHP语法的函数,得出的命令是这样:

E:/PHP/php.exe -l -n 当前文件

但是这个函数有3个地方我没看懂
1、不知道里面哪个地方指明了“当前文件”这个参数
2、setlocal errorformat=%m\ in\ %f\ on\ line\ %l这句没看懂是做什么用的
3、make %这句也没看懂是做什么用的

另外还有一个问题,我如果想使用双引号,怎么做?像下面这样
E:/PHP/php.exe -l -n "当前文件"
上次由 iny 在 2009-06-04 1:24,总共编辑 1 次。
sarrow
帖子: 403
注册时间: 2007-10-27 1:04

Re: 请教一个函数问题?

#2

帖子 sarrow » 2009-06-03 21:44

make %
相当于
:make %

make被扩展为:
E:/PHP/php.exe\ -l\ -n\ -d\ html_errors=off

%则被自动扩展为:
当前被编辑文件的文件名。

至于引号,你自己试试吧!就在:后面试就行了。成功了,就在vim script修改就行了。
iny
帖子: 142
注册时间: 2008-05-22 9:43

Re: 请教一个函数问题?

#3

帖子 iny » 2009-06-03 23:39

sarrow 写了:make %
相当于
:make %

make被扩展为:
E:/PHP/php.exe\ -l\ -n\ -d\ html_errors=off

%则被自动扩展为:
当前被编辑文件的文件名。

至于引号,你自己试试吧!就在:后面试就行了。成功了,就在vim script修改就行了。
谢谢,明白了,我再试试

另外,双引号的使用方法也找到了,用\转义
回复