On 23/06/08 19:48, Ben Schmidt wrote:
> Mikael Jansson wrote:
>> Hi,
>>
>> I'm not very familiar with the Vim code base, so I couldn't quite find
>> my way around, so I'm asking here instead:
>>
>> Will the range for % (the entire file) always be 1 for line1 and
>> number-of-lines-in-file for line2?
>
> Yes.
>
> :tag do_one_cmd | /%
>
> There is a comment there, and if you scroll down a bit you will find.
>
> if (*ea.cmd == '%') /* '%' - all lines */
> {
> ++ea.cmd;
> ea.line1 = 1;
> ea.line2 = curbuf->b_ml.ml_line_count;
> ++ea.addr_count;
> }
>
> Ben.
Before that :tag command works, you need to:
1. download the Vim source
2. make sure you have Exuberant Ctags installed (or at least a version
of ctags which will execute correctly the command
ctags -I INIT+ --fields=+S *.c *.cpp if_perl.xs *.h
when run from the src directory).
3. run "make tags" from the top-level Makefile, or if you haven't got
make, run the above ctags command in the src directory.
4. load one of the Vim source files into Vim. (running the same :tag
command while looking at the Vim help, for instance, would try to find a
help tag named do_one_cmd).
The above excerpt from the Vim code _proves_ that :% means :1,$. If you
aren't interested in the Vim source, :help :% _says_ that they are the
same (it admittedly doesn't prove it, but if something like that had
gone wrong for any length of time, either the help or the C code would
have been changed to make them both reflect the intended behaviour).
Best regards,
Tony.
--
"I do not feel obliged to believe that the same God who has endowed us
with sense, reason, and intellect has intended us to forego their use."
-- Galileo Galilei
--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---