Am 30.04.2009 17:14, Christopher Robinson schrieb:
> Ben Fritz wrote:
>>
>> On Apr 29, 1:50 pm, cablesimple <[email protected]>
>> wrote:
>>   
>>> Hi,
>>> I use gVim on Windows for writing PHP code.  I just got a new PC and
>>> setup gVim again and for some reason :make isn't working correctly
>>> anymore.  The compile string that it uses is:
>>> C:\WINDOWS\system32\cmd.exe /c php -lq  >C:
>>> \DOCUME~1\CROBIN~1\LOCALS~1\Temp\VIe2
>>> 6C.tmp 2>&1
>>>
>>> Which would be just fine except for the ">" right before the temp file
>>> path.  When I manually remove that and try the command in a DOS window
>>> it works just fine, however with the ">" it just hangs forever.
>>>
>>> Where can I adjust that path?  Where is it generated from?
>>>
>>>     
>>
>> This looks like the 'shellpipe' option. Most compilers redirect to
>> stdout and/or stderr, apparently this one does not.
>>
>> According to :help 'shellpipe', setting 'shellpipe' to an empty string
>> will make it not redirect the output, however with experimentation it
>> seems that it will also not append the temp file name, so you need to
>> set it to %s instead.
>>
>> For now, (assuming you use ":compiler php" to set up your make
>> environment) you could get by with copying $VIMRUNTIME/compiler/
>> php.vim into $HOME/.vim/compiler/php.vim and adding this line:
>>
>> CompilerSet shellpipe=%s
>>
>>   
>>> Also, on my old machine I didn't have to set the compiler to PHP, it
>>> knew by filetype.  How would I accomplish that again?
>>>
>>>     
>>
>> This one is pretty easy:
>>
>> autocmd FileType php compiler php
>>
>> If you're doing it this way, you can ignore my advice about copying
>> and editing the compiler file and just do:
>>
>> autocmd FileType php compiler php | setlocal shellpipe=%s
>> >
>>
>>   
> Thank you very much for the response Ben.  After playing with the 
> shellpipe option a bit I realized that I was actually reporting my 
> problem incorrectly.  In the string:
> 
> C:\WINDOWS\system32\cmd.exe /c php -lq  
> >C:\DOCUME~1\CROBIN~1\LOCALS~1\Temp\VIe26C.tmp 2>&1
> 
> It isn't putting the ">" in where it doesn't belong...it's missing the actual 
> source code file after the "php -lq" part.
> 
> Where does that get configured?
> [...]

Either give it as an argument to :make or include % in the makeprg
option. Read :help :make_makeprg (There's a paragraph that starts with
{makeprg}).


HTH,
Dennis Benzinger


--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to