我知道进行全局替换的正则表达式,
%s/old/new/g
Run Code Online (Sandbox Code Playgroud)
你如何在Vim中进行交互式搜索替换?
Mar*_*iek 442
添加标志c(在vim命令提示符下):
:%s/old/new/gc
Run Code Online (Sandbox Code Playgroud)
每次出现'old'时都会给你一个是/否的提示.

一旦选择了确认替换,Vim的内置帮助提供了有关可用选项的有用信息.使用:
:h :s
Run Code Online (Sandbox Code Playgroud)
然后滚动到确认选项部分.截图如下:

例如,要替换此匹配和所有剩余匹配,请使用a.
Vin*_*eib 75
Mark Biek指出使用:
%s/old/new/gc
Run Code Online (Sandbox Code Playgroud)
全局搜索替换为每个替换的确认.但是,我也喜欢以交互方式验证旧文本是否正确匹配.我首先使用正则表达式进行搜索,然后重用该模式:
/old.pattern.to.match
%s//replacement/gc
Run Code Online (Sandbox Code Playgroud)
在s//将使用最近的搜索模式.
我通常使用find/substitute/next/repeat命令:-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
Run Code Online (Sandbox Code Playgroud)
那是find "old",substitute 3 characters for "new",find next,repeat substitute,等.
这对于大规模替换来说是一种痛苦,但它可以让你有选择地忽略一些旧的(通过n再次按下来找到下一个而不是.重复替换).
| 归档时间: |
|
| 查看次数: |
68266 次 |
| 最近记录: |