Tim Chase wrote:
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



I tried Jorgen' s code (all possible ways) but I still had to run the command more than once. Tim's worked great. I forgot to mention that pattern is a regexp, so Tony's couldn't be tested. Thank you all for your time.

By the way, can someone explain if I could the while function???

Thanks,

Nikos


Reply via email to