我看到了如何在特定行中搜索和替换, 可以通过行号进行指定,以及如何使用当前行作为参考来搜索和替换多行。
如何仅在当前行中搜索和替换? 我正在寻找一个简单的解决方案,不需要像链接中提到的那样指定行号。
我看到了如何在特定行中搜索和替换, 可以通过行号进行指定,以及如何使用当前行作为参考来搜索和替换多行。
如何仅在当前行中搜索和替换? 我正在寻找一个简单的解决方案,不需要像链接中提到的那样指定行号。
在特定的行中,将所有出现的str1
替换为str2
:
:s/str1/str2/g
如果您只想替换第一次出现的内容,请删除g
选项。
您可以使用 .
代表当前行,例如:
:.s/old/new/
这将仅在当前行中将old
更改为new
。
如果您想在当前行中搜索和替换所有匹配的单词,您可以在命令模式下轻松使用带有 g
修饰符的简单的 substitute (s)
命令。
:s/search/replace/g
如果您只想在当前行中搜索并替换第一个匹配的单词,只需从命令中去掉 g
修饰符。
:s/search/replace/
参考::help substitute
确认(c
)并替换:
:s/foo/bar/gc
查找“foo”的出现情况,在将其替换为“bar”之前征求确认。
Vim提供以下选项:
replace with bar (y/n/a/q/l/^E/^Y)?
y
- 是n
- 否a
- 替换所有出现的内容q
- 退出l
- 替换当前内容并停止(最后一个)^E
(CTRL + e) - 向下滚动^Y
(CTRL + y) - 向上滚动现在,在您的情况下,您可以使用y
、n
和l
的组合来实现您的目的。
g
,因此留言提醒。 - dlmeeteis//
命令中已经是默认设置了。使用点号和不使用点号有什么区别吗? - Doktor OSwaldo.s/old/new/g
- Rishabh Agrahari