为了账号安全,请及时绑定邮箱和手机立即绑定

vim替换命令

标签:
Linux

1 语法

:[range]s/source/target/[option]

2 range

range表示要替换的范围,想要全局替换的话,可以使用一个百分号.

:%s/xxx/xxxx

另外,小数点表示当前行,美元符号表示最后一行,数字表示范围.

:1,.s     替换第一行到当前行
:.,$s     替换当前行到最后一行
:1,$s     替换第一行到最后一行,相当于 :%s

3 source与target

表示源字符串与目标字符串,如

:1,.s/123/456

表示把第一行到当前行的首次出现的123替换成456,注意是首次出现,如果要替换某一行全部源字符串需要在后面加上

/g

另外,对于一些特殊字符比如小数点,斜杠,双引号等需要转义,方式是使用反斜杠,在需要转义的字符面前加一个反斜杠
如把

"123//"   

替换为

'123\\'

命令如下:

:s/\"123\/\/\"/\'123\\\\\'/g

因为

"123//" 中
"     转义为      \"
/     转义为      \/
'123\\' 中
'     转义为      \'
\     转义为      \\

4 option

选项如下:

/g  全局替换
/c  确认
/p  替换结果逐行显示

注意选项的组合结果是

/cg
/pc

这样的形式,而不是

/c/g
/g/p

这样的形式.

5 总结

全局替换的话,使用

:%s/source/target/g

局部替换的话,使用

:n,ms/source/target

n,m为行数,表示要替换的范围.
注意如果字符串需要转义要加上反斜杠.

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
5
获赞与收藏
30

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消