Lookbehind / Lookahead in Vim
15 August 2013 in vim · view history
Vim is just powerful, sometimes you might want to replace your code from something to everything or someone.
This is, matching the whole (or partially) of a string and replace (partially) of the string with another word.
I’ve found this very nice post describing lookbehind/ahead in Vim clearly. Allow me to copy some of his content here.
something becomes someone
:%s/\(some\)\@<=thing/one/g
Searches for all strings starting with some, then matching thing
changes thing into one.
something is not changed, but everything changes to everyone
:%s/\(some\)\@<!thing/one/g
Searches for all strings not starting with some, then matching thing
changes thing into one.
something becomes everything
:%s/some\(thing\)\@=/every/g
Searches for all strings ending with thing, then matching some
changes some into every.
something is not changed, but someone becomes everyone.
:%s/some\(thing\)\@!/every/g
Searches for all strings not ending with thing, then matching some
changes some into every.