IMPORTANT! Before start changing your text file, please remember the commands to UNDO and REDO:
:u or :undo[n]
:red or :redo[n]
where "n" is the number of changes. The default value is "n=1".
With the command (in ESC mode):
:%s/foo/bar/gc
the active file will be searched for the pattern "foo" and replaced with "bar". For every replacement you'll be asked for a confirmation.
With
:%s/foo/bar/g
you won't be asked for a confirmation.
:%s/foo/bar/gi
is case-insensitive:%s/foo/bar/gI
is case-sensitiveWith ESC or "q" you terminate the searching.
Note that above we used the
%
symbol. This is a shortcut that means "from the first line to the end of file".The "substitute"
(:s)
command accepts, before of itself, a range of lines, e.g.:
:28s/text1/text2/ only on line 28
:.s/text1/text2/ only on the current line
:.,20s/text1/text2/ from current to line 20
:1,$s/text1/text2/ from line 1 to the end of file
:%s/text1/text2/ over the whole file. Like 1,$
Morevore please notice that if you want to use special characters like
[
you have to escape them, like:
:.,$s/lego/\[lego/gc
this command substitutes all the occurrences of "lego" with "[lego", from the current line to the end of file, asking for confirmation before each substitution.
IMPORTANT. Please notice that you have to escape symbols ONLY within the substituting text, not in the text you look for. E.g.:
:.,$s/(ciao)/\[\(ciao)\)\]/gc
substitutes "(ciao)" with "[(ciao)]".