>
> On Sat, 22 Aug 2009, Tim Chase wrote:
>> Though it's a bit of a horrible abuse, you can do
>>
>> if v:shell_error> 0 | exec v:shell_error | endif
>>
>> which exploits the fact that an ex command of just a number means
>> to go to that line. Granted, the range of exit codes may limit
>> you to a pretty small range (1-127, IIRC), so you can't jump to a
>> line beyond this max. But it's what you asked for :)
>
> Thanks Tim and Ben! "exec number" does the trick.
> I got a pretty print for my source files, when there is syntax error,
> I made it exit with an error code equal to that line number. I tried
> and found vim can jump to lines beyond 4000.
>
Vim can jump to any line that it can count, the problem is having your
external program generate the required number as a return code: IIRC,
return codes are limited to one byte, and those above 127 may have a
special meaning (generated by the OS maybe).
In bash,
foobar
bash: foobar: command not found
echo $?
returns 127, for instance.
Depending on what you exactly want, you could also write it as
if v:shell_error | exe v:shell_error | endif
or
if v:xhell_error | exe (v:shell_error % 256) | endif
etc.
Best regards,
Tony.
--
hundred-and-one symptoms of being an internet addict:
117. You are more comfortable typing in html.
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---
No comments:
Post a Comment