17

In Vim is there an option to write regexs in the same style as Awk for example

/sp\{0,\}/
Would be

/sp{0,}/

29

Preceding your pattern with \v will make the pattern “magic”, and symbols like { and [ have an interpreted meaning (and literals need to be escaped).

So /\vsp{1,} would find what you wanted (I just tested it).

You can make this a sort of default by remapping / to /\v with the following lines in your vimrc:

nnoremap / /\v
vnoremap / /\v

See :help pattern for more.

1

/sp\{0,}

Of course for {0,}, you would be better off using *: /sp* would (same as the above) find an 's' followed by zero or more p's. Note that zero or more is always true, so there's no reason for it in this particular expression.

  • This was all good info and very useful. Is there a way to turn of the escaping of special characters in vim? – MageProspero Oct 27 '11 at 20:00
  • I see what you mean now. I seriously doubt it, that would almost certainly require a different parser developed in parallel, and I doubt it would be a feature with enough demand to justify that extra implementation and maintenance. – Kevin Oct 27 '11 at 20:10
-1

Vim does not have an option to emulate awk-style regular expressions, no. There are a lot of dialects of regex, and unfortunately there are always these little dialectical differences to keep track of when going from one tool to another.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.