Thursday, December 06, 2007

Find and Replace in Vim

Source: http://vim.sourceforge.net/tips/tip.php?tip_id=31

To find and replace one or more occurences of a given text pattern with a new text string, use the s[ubstitute] command.

There are a variety of options, but these are what you most probably want:

:%s/foo/bar/g           find each occurance of 'foo' and replace it with 'bar' without asking for confirmation

:%s/foo/bar/gc          find each occurance of 'foo' and replace it with 'bar' asking for confirmation first

:%s/<foo>/bar/gc      find (match exact word only) and replace each occurance of 'foo' with 'bar'

:%s/foo/bar/gci         find (case insensitive) and replace each occurance of 'foo' with 'bar'

:%s/foo/bar/gcI         find (case sensitive) and replace each occurance of 'foo' with 'bar'


NB: Without the 'g' flag, replacement occurs only for the first occurrence in each line.

For a full description and some more interesting examples of the substitute command refer to

:help substitute



Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

0 Comments: