[wellylug] vi(m) question.
Grant McLean
grant at mclean.net.nz
Sun May 9 08:22:26 NZST 2004
Enkidu wrote:
> I'm still confused (sorry!) about the "\+\" bit.
>
> Starting from the left most delimter you first have a "^" which says
> "start of string". Then you escape the "(", followed by a space,
> followed by an escaped "+" which means one or more spaces required at
> the start of the string. Then you escape the ")" and then the second
> delimiter.
The only bug in your thinking is the use of the word "escape".
Usually we escape things so that they do not have special meaning.
For example to create a file with a dollar sign in the name, we
would use a backslash in Bash:
touch under_\$10.txt
But in Vim (for reasons I've never quite understood), we use the
backslash to make characters special rather than not special.
For example, to search for a plus sign you would simply use the
pattern '+'. But to use the plus sign in its regex meaning of
'one or more occurences of the previous thing' we need to make it
special by putting a \ in front of it.
Just to keep things interesting, Vim recognises the most common
regex characters as special without requiring a backslash:
^ . * $
Pretty much any other character without a backslash prefix will
only match the literal character.
Cheers
Grant
More information about the wellylug
mailing list