I'd just want to get confirmation on (and maybe some background to) the way that Bill Joy's vi
, sometimes found as traditional-vi
on some BSD systems, handles regular expressions.
It seems as if most "special characters" needs to be escaped.
Writing, e.g., :s/./x/g
will not replace all characters on the line with x
, but :s/\./x/g
will.
Likewise, *
needs to be escaped and the first [
of any character group.
Is this the historic behaviour of Bill's implementation of vi
?
I'm testing on OpenBSD 6.1-stable with the traditional-vi-20050325p0
package, which takes its sources from http://ex-vi.sourceforge.net/
The document entitled "Changes in ex and vi" mentions "traditional regular expressions". However, I have not found any place detailing what the differences are between these and modern POSIX BREs and EREs. Or whether "traditional" in this context is the same as "basic" (as in BRE) or if the escaping of .
and *
etc. has anything to do with an older type of regular expressions at all.