38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Search and Replace
 | |
| localeTitle: 搜索和替换
 | |
| ---
 | |
| # 在Vim中搜索和替换
 | |
| 
 | |
| 在vim中搜索和替换将搜索给定文本模式的所有实例并将其替换为字符串。
 | |
| 
 | |
| ### 命令键
 | |
| 
 | |
| 用于搜索和替换的命令:
 | |
| 
 | |
| *   `:substitute`
 | |
| *   `:s` (替代的简短缩写形式)
 | |
| 
 | |
| ### 命令结构
 | |
| 
 | |
| 用于搜索和替换的结构:
 | |
| 
 | |
| `:[range]` `s` / `[pattern]` / `[string]` / `[flags]` `[count]`
 | |
| 
 | |
| 哪里…
 | |
| 
 | |
| *   `[range]`表示要搜索的行(例如`1` :第一行, `$` :最后一行, `%` :所有行)。
 | |
| *   `[pattern]`是要搜索的文本模式。
 | |
| *   `[string]`是将替换文本模式的字符串。
 | |
| *   `[flags]`打开其他搜索和替换选项(例如`c` :确认替换, `g` :替换每行中的所有出现, `i` :忽略大小写)。
 | |
| *   `[count]`从`[range]`的最后一行开始替换`[count]`行(如果省略`[range]`则替换当前行)。
 | |
| 
 | |
| ### 常见例子
 | |
| 
 | |
| 下面列出了一些常见的搜索和替换示例:
 | |
| 
 | |
| *   `:s/foo/bar/`将当前行中的第一个'foo'更改为'bar'。
 | |
| *   `:s/foo/bar/g`将当前行中的每个'foo'更改为'bar'。
 | |
| *   `:%s/foo/bar/g`将所有行中的每个'foo'更改为'bar'。
 | |
| *   `:13s/foo/bar/g`将第13行中的每个'foo'更改为'bar'。
 | |
| *   `:%s/foo/bar/cgi`将所有行中的每个'foo'更改为'bar'。 |