On Mon, 8 Oct 2018, Jonathan Thornburg wrote:

> An excellent (although secondary) source from the precambrian era,
>    Morris I Bolsky
>    "The /vi/ User's Hanbdbook"
>    (c) 1984 by Bell Telephone Laboratories, Incorporated
>    (c) 1985 by AT&T Technologies, Inc
>    published by Prentice-Hall, ISBN 0-13-941733-8
> clearly documents [for "Version 3 of /vi/ on UNIX System V, Release 2"]
> the behavior that both '(' and ')' only stop at 2-spaces-after-punctuation.
> >>From page 19, section "Moving cursor to a sentence, etc., in buffer":
> Description of ')' or '3)'
> > Moves RIGHT (and DOWN, etc.) to the beginning of the next or 3rd next
> > SENTENCE.  End of a sentence is detected by a ., !, or ? followed by
> > 2 Spaces or a newline.
> Description of '(' or '3('
> > Same as above, but moves LEFT (and UP, etc.) to the preceding
> > or 3rd preceding beginning of sentence.
>
> 
> I have the original 4.3BSD & 4.4BSD printed manual sets packed away
> in boxes, but the volumes I have out on a shelf don't include the
> detailed /vi/ documentation.  If anyone cares deeply, I could unpack
> the relevant volumes to see what behavior they document.

See original vi:

https://minnie.tuhs.org//cgi-bin/utree.pl?file=2BSD/doc/vi/vi.chars

(              Retreats  to  the beginning of a sentence, or
               to the beginning of a  LISP  s-expression  if
               the lisp option is set.  A sentence ends at a
               . ! or ? which is followed by either the  end
               of  a  line  or by two spaces.  Any number of
               closing ) ] " and  '  characters  may  appear
               after  the . ! or ?, and before the spaces or
               end of line.  Sentences also begin  at  para-
               graph  and  section  boundaries (see { and [[
               below).  A count advances that many sentences
               (4.2, 6.8).

)              Advances  to  the beginning of a sentence.  A
               count repeats the effect.  See  (  above  for
               the definition of a sentence (4.2, 6.8).

Also see the vi.in tutorial there that also documents the "two 
spaces".

(The earlier "visual" Ex didn't have the feature in the code or docs.)

Reply via email to