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

Re: Consider lines containing a tab a paragraph boundary

Expand Messages
  • Bram Moolenaar
    ... The } motion is a bit strange in that it stops before a paragraph. I never understood why it s like that and not jumping to the first line of the
    Message 1 of 18 , Apr 24, 2013
      Christian Brabandt wrote:

      > On Wed, April 24, 2013 11:38, Bram Moolenaar wrote:
      > > Christian Brabandt wrote:
      > >> On Sa, 20 Apr 2013, Bram Moolenaar wrote:
      > >> > I wonder if changing 'paragraphs' and 'sections' into a regexp
      > >> > that matches at what's between paragraphs is sufficient. How
      > >> > about this style with two paragraphs:
      > >> Did this and updated the example. Would this be acceptable?
      > > Hmm, I think what we really want is to match the text from the end
      > > of one paragraph until the start of the next one. The example with
      > > "/^$" would still work to have empty-line separated paragraphs.
      > > Paragraphs that start with an indent would be found with "/^\s\+".
      > correct.
      > > You could then also allow more than one empty line between paragraphs
      > with "/^\n*$".
      > That would be possible, but doesn't really change the cursor motion. Take
      > the example from the patch:
      > ----------------------------
      > 1 Lorem ipsum dolor sit amet,
      > 2 consetetur sadipscing elitr,
      > 3 sed diam
      > 4
      > 5
      > 6 Lorem ipsum dolor sit amet,
      > 7 consetetur sadipscing elitr,
      > 8 sed diam
      > If the 'para' option is set to '/^$' moving using '}' will first move to
      > line 4, the next paragraph motion will move to line 5. Typing '}' again
      > will then move the cursor at the end of the last line.

      The } motion is a bit strange in that it stops before a paragraph. I
      never understood why it's like that and not jumping to the first line of
      the paragraph.

      Anyway, using ]] and [[ you do jump to the start or end of a section, so
      there it's easier to see what the pattern does.

      > Even is you use the /^\n\+$ as regular expression, the cursor will still
      > jump to the exact same positions, as line 4 and line 5 match
      > that regular expression. We could make it jump to the end of the match
      > using the SEARCH_END flag and then advance the cursor one more position,
      > but this would only work on forward searches, this doesn't seem to work
      > for backward searches:
      > https://groups.google.com/group/vim_use/msg/d82897dd34010e93?hl=de

      How about using the pattern /^\n\+\zs ? The \zs marks where the cursor
      ends up. This also allows moving to the first line of the paragraph.

      Question remains how to handle {, where the cursor ends up then.
      An alternative is to use flags after // to specify where the cursor is
      positioned for { and }, e.g. /^\n\+/{s}e would mean { moves to the
      start of the match and } to the end of the match.

      hundred-and-one symptoms of being an internet addict:
      217. Your sex life has drastically improved...so what if it's only cyber-sex!

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ an exciting new programming language -- http://www.Zimbu.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      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.