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'。 |