:s 命令进行替换操作
% 所有行 g 单行内所有匹配项 i 忽略大小写 c 确认是否替换
基本语法
关键词 old 替换为 new
:s/old/new 将光标所在行第一个 old 替换为 new
:s/old/new/g 将光标所在行所有 old 替换为 new
:s/old/new/gc 将光标所在行所有 old 替换为 new,并询问是否替换
:s/old/new/gic 将光标所在行所有 old 替换为 new,忽略大小写,并询问是否替换
g i c 可自由组合
和块选择命令组合
还可以类似于vim其他命令一样,在s命令前增加块选择命令:
:%s/old/new/g 全文执行替换,询问是否替换
:m,ns/old/new/g 将第m行到第n行内容替换
:.,ns/old/new/g 从光标所在行到第n行内容替换
:.,$s/old/new/g 从光标所在行到文档尾部进行替换
‘/’的替换
在上面的命令中可以看到‘/’是作为分隔符使用的,如果要替换的字符中包含’/’该怎么做
‘#’分隔符
当要替换的字符中,首字符非’/’时可使用‘#’分隔符,示例如下
:s#vivian/#sky 替换当前行第一个 vivian/ 为 sky/
‘+’分隔符
当要替换的字符中,首字符就包含’/’时可使用‘+’分隔符,示例如下
:s+/oradata/apras/+/user01/apras1 (/oradata/apras/替换成/user01/apras1/