views:

272

answers:

2

The characters for extended regular expressions are invaluable; is there a way to turn them on so that I don't have to escape them in my Vim regex, much like the -E flag I can pass to grep(1)?

A: 

The regular expressions in Vim are already fairly powerful, but they use '\(...\)' and '\{2,5\}' and the like. Full 'extended regular expression' (ERE) notation would not need the backslashes. I don't see or know of an option in Vim to enable extended regular expressions. I also search sufficiently often for open parenthesis that I'm not sure that I'd find ERE support all that beneficial.

Jonathan Leffler
+7  A: 

Do :help magic in vim and you'll see there are four levels (very magic, magic, nomagic, and very nomagic) but only the two central ones can be set globally (the default is magic, and with :set commands you can only toggle between magic and nomagic); start your RE with \v to make all the rest of it "very magic" ("all ASCII characters except '0'-'9', 'a'-'z', 'A'-'Z' and '_' have a special meaning") -- but that applies only to that one specific RE!-)

Alex Martelli
Brian Carper has a great article about magic here http://briancarper.net/blog/vim-regexes-are-awesome
Sasha