On 2020-06-30 18:33, Chris Jones wrote:
> On Mon, Jun 29, 2020 at 03:34:03PM EDT, Tim Chase wrote:
>> Try changing that line from
>> 
>>   $?^$?+,$g/^\[\@!.*\n\[\@!/,/\n\[\|\%$/j
>> 
>> to
>> 
>>   $?^$?+,$g/^\[\@!.*\n\[\@!./,/\n\[\|\%$/j  
> 
> This indeed fixes the problem. 

Great!

> Still trying to wrap my head around this bizarre 
> 
>   :g/regex1/,/regex2/command

It helps to think of broken down.  The :g command itself can take one
range:

  :{range1}g/regex1/{command}

and that {command} can consist of a command *and an optional range
relative to each of those matches*.  So in the above, that {command}
is

  {range2}command

and that {range2} is

  ,/regex2/

which has the start of the range "." implied, so would be the same as

  .,/regex2/

The power of this "find lines with a :g command, then operate on a
range of lines relative to each of those matches"


So it might be clearer to write that original as

  $?^$?+,$ g/^\[\@!.*\n\[\@!./ .,/\n\[\|\%$/ j  

  11111111 2222222222222222222 3333333333333 4

where

1 = the range for the footnotes
2 = find lines where the next line is a continuation
3 = a range from this continued-line through the end of the footnote
4 = join that range of lines from #3

To learn this requires pulling together bits from several sections of
the help:

  :help range
  :help search-offset
  :help 10.3  " particularly the ADD AND SUBTRACT section
  :help 10.4

so it's certainly not a well-advertised bit of functionality.

But as you can see, it's an amazingly *powerful* bit of functionality
that I use all the time.

> Thank you very much for your help!

Thanks for the fun challenge. :-)

-tim


-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_use/20200630184130.444ac212%40bigbox.attlocal.net.

Reply via email to