首页 > 其他 > 详细

vi中的全局替换

时间:2019-03-26 12:57:50      阅读:229      评论:0      收藏:0      [点我收藏+]

一、基本语法

替换命令语法:

:[addr]s/源字符串/目标字符串/[option]

全局替换:

:%s/源字符串/目标字符串/g

参数说明:

  • [addr]——表示检索范围,省略时表示当前行。
    • "%":表示整个文件,同"1,$";
    • ".,$":从当前行到文件尾;
  • s:表示替换操作
  • [option]:表示操作类型
    • g:全局替换
    • c:表示进行确认
    • p:表示替换结果逐行显示(Ctrl+L恢复屏幕)
    • 省略option:默认仅对每行第一个匹配串进行替换
  • 如果在源字符串和目标字符串中有特殊字符,需要使用“”转义

二、使用示例

1.常用场景

  • :s/str1/str2/ ——用str2替换当前行中首次出现的str1
  • :s/str1/str2/g ——用str2替换当前行中所有出现的str1
  • :.,$s/str1/str2/g ——用str2替换正文当前行到末尾所有出现的str1
  • :1,$s/str1/str2/g ——用str2替换正文中所有出现的str1
  • :%s/str1/str2/ ——替换每一行中所有str1为str2
  • :%s/str1/str2/(等同于:g/str1/s//str2/) ——替换每一行的第一个str1为str2
  • :%s/str1/str2/g(等同于:g/str1/s//str2/g) ——替换每一行中所有str1为str2

2.g选项总结:

  • g放在命令末尾,表示对搜索字符串的每次出现进行替换;不加g,表示只对搜索字符串的首次出现进行替换。
  • g放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

vi中的全局替换

原文:https://www.cnblogs.com/amyzhu/p/10599343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!