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