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. |