Loading ...
Sorry, an error occurred while loading the content.

RE: \ze position

Expand Messages
  • John Beckett
    ... I forget the details, but I sweated blood working out how to avoid getting stuck using match(), and came to the conclusion that two calls are required. I
    Message 1 of 6 , Mar 22, 2013
    • 0 Attachment
      Axel Bender wrote:
      > Sorry, I was too unspecific. I want to use the \z[es] from
      > the last match() to prevent searching for the same -
      > complicated - expression two times (once with match() the
      > second time with matchend()...).

      I forget the details, but I sweated blood working out how to
      avoid getting stuck using match(), and came to the conclusion
      that two calls are required. I believe this code is correct, and
      it may be of interest.

      http://vim.wikia.com/wiki/Copy_search_matches#GetMatches.28.29_alternative

      BTW my overflowing todo list includes that I will fix that tip.
      I have improved the code (which I use frequently), but even
      better is that newer Vims are able to use :s///n with a
      replacement expression to copy matches. The current tip has that
      technique, but it is absurdly convoluted because older Vims
      ignore the replacement expression if the n flag is used.

      John

      --
      --
      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 vim_use+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    • Axel Bender
      Thanks for the feedback! I had hoped that - like in Perl - there is a [(possibly) undocumented] feature or a trick that lets you extract the start and the
      Message 2 of 6 , Mar 22, 2013
      • 0 Attachment
        Thanks for the feedback!

        I had hoped that - like in Perl - there is a [(possibly) undocumented] feature or a "trick" that lets you extract the start and the end positions (columns) after a *single* call to match(), using both \zs and \ze.

        I would prefer such a solution over having to determine the end position of the match with a second call to matchend(), employing the same set of - possibly "expensive" parameters.

        ...

        --
        --
        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 vim_use+unsubscribe@....
        For more options, visit https://groups.google.com/groups/opt_out.
      Your message has been successfully submitted and would be delivered to recipients shortly.