On Jan 25, 2008 3:28 PM, Ralph Shumaker <[EMAIL PROTECTED]> wrote:
> Carl Lowenstein wrote:
> > On Jan 25, 2008 2:40 PM, James G. Sack (jim) <[EMAIL PROTECTED]> wrote:
> >
> >> Carl Lowenstein wrote:
> >>
> >>> Perhaps the command you are looking for is "g!" global exclude.
> >>>
> >>> :%g!/pattern/action # perform action on all lines not
> >>> matching pattern
> >>> # action can include another
> >>> substitution match
> >>> # and other specifications
> >>> like g)lobal and c)onfirm
> >>> :%g!/pattern/s/pattern2/new thing/gc
> >>>
> >> Wow another vim capability I never encountered.
> >>
> >> Now, I wonder if there is any way to get more occurrences of the adj/adv
> >> "global" into a vim command. This one has 3 does it not?
> >>
> >>
> >
> > There are only two. The first g is "global within the specified
> > range", the second one is "global within the line". Vi/Ex have been
> > like this since forever. Actually I find this usage in 6th Edition
> > Unix ed(I) dated 1973. So blame it on Ken Thompson not Bill Joy.
> >
> > Well, OK the "%" also states that the specified range is the whole file.
> >
> > carl
> >
>
> I had to fuss with it a little, but ended up with:
> :%g!/<br>$\|^[$%]$/s/$/<br>/gc
>
> That worked perfectly. And with command history, I don't even have to
> re-type it.
>
> What I tried first was:
> :%g!/<br>$/g!/^[$%]$/s/$/<br>/gc
>
> Apparently, you can't use the g! twice (or I didn't format it right).
Yes. Unfortunately, the historical development of this editor left it
with two different "g" commands.
"g" select lines globally within the range. This one can be negated.
"g" perform operations globally within the line.
As sort of pointed out by Jim Sack, if the region of interest is all
lines, you don't need both the initial "%" and the "g" since "%" ==
all lines is implied by an otherwise unspecified "g".
The "g!" inversion of the selection was originally "v" but this seems
to have been redefined to be something else in vim. At least
according to my quick look through the _Vi Improved_ book.
carl
--
carl lowenstein marine physical lab u.c. san diego
[EMAIL PROTECTED]
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list