33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
|
---
|
||
|
title: Search and Replace
|
||
|
---
|
||
|
|
||
|
# Searching and Replacing in Vim
|
||
|
|
||
|
Search and replace in vim will search for all instances of a given text pattern and replace it with a string.
|
||
|
|
||
|
### Command Keys
|
||
|
The commands used for search and replace:
|
||
|
- `:substitute`
|
||
|
- `:s` (short abbreviated form of substitute)
|
||
|
|
||
|
### Command Structure
|
||
|
The structure used for search and replace:
|
||
|
|
||
|
`:[range]` `s`/`[pattern]`/`[string]`/`[flags]` `[count]`
|
||
|
|
||
|
where...
|
||
|
- `[range]` indicates the lines to search (e.g. `1`: first line, `$`: last line, `%`: all lines).
|
||
|
- `[pattern]` is the text pattern to be searched.
|
||
|
- `[string]` is the string that will replace the text pattern.
|
||
|
- `[flags]` turn on additional search and replace options (e.g. `c`: confirm substitution, `g`: replace all occurences in each line, `i`: ignore case).
|
||
|
- `[count]` replaces in `[count]` lines starting from the last line in `[range]` (or current line if `[range]` omitted).
|
||
|
|
||
|
### Common Examples
|
||
|
Some common search and replace examples are listed below:
|
||
|
- `:s/foo/bar/` Change the first 'foo' to 'bar' in the current line.
|
||
|
- `:s/foo/bar/g` Change each 'foo' to 'bar' in the current line.
|
||
|
- `:%s/foo/bar/g` Change each 'foo' to 'bar' in all the lines.
|
||
|
- `:13s/foo/bar/g` Change each 'foo' to 'bar' in line 13.
|
||
|
- `:%s/foo/bar/cgi` Change every 'foo' to 'bar' in all lines.
|