> I have a text that has many occurrences of a pattern . I want to delete 
> every consecutive occurrence, e.g.
> 
> Pattern Pattern other text Pattern Pattern Pattern Pattern other text 
> Pattern Pattern Pattern
> should look like this:
> Pattern other text Pattern other text Pattern
> 
> I've used:
> 
> :%s/\(Pattern\s\+\)\(Pattern\)/\1/g
> 
> but have to run this more than once with: %&g to result the wanted text.
> 
> Can I do this with one command only? If not can I write a while function?:

You seem to be close.  The following did it for me,

  :%s/\(Pattern\)\(\s\+Pattern\)\+/\1/g

or, if you're lazy,

  :%s/\(Pattern\)\(\s\+\1\)\+/\1/g

(no need to type the Pattern a 2nd time)

HTH,

-tim


Reply via email to