vim编辑器替换以及全局替换

本文详细介绍了Vim编辑器中的替换操作,包括基本语法、选项参数及实际应用案例,如全局替换、条件删除、正则表达式应用等,帮助读者掌握Vim的高效文本编辑技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法: [addr]s/源字符串/目的字符串/[option]
[addr]表示检索范围
  “1,n”: 表示从第1行到n行
  “%”: 表示整个文件,同"1,"  ".,"   ".,"  ".," :表示从当前行到文件尾

[addr]省略时表示当前行
s: 表示替换操作,为substitute的缩写
[option]: 表示操作类型,如:

g: global,表示全局替换

c: confirm,表示进行确认

p: 表示替代结果逐行显示(Ctrl + L恢复屏幕)

i: ignore,不区分大小写

[option]省略时仅对每行第一个匹配串进行替换

如果在源字符串和目的字符串中出现特殊字符,如’/’,’<’,’>’,’,'等需要前面加反斜杠\进行转义

常用命令示例:

#将当前行第一个a替换为b

:s/a/b/

#将当前行的所有a替换为b

:s/a/b/g 

#将每行第一个a替换为b

:%s/a/b

#将整个文件的所有a替换为b

:%s/a/b/g

#将1至3行的第一个a替换为b

:1,3s/a/b/

#将1至3行的所有a替换为b

:1,3s/a/b/g

上面是一些常用的替换,但是我们日常碰到的问题不止这么简单,这就要涉及到一些较为高级的替换操作,会涉及到相关的知识,下面是一些例子:

#使用
#作为分隔符,此时中间出现的/不会作为分隔符,如:将当前行的字符串"a/“替换为"b/”

:s#a/#b/#

#找到包含字母a的行并删除

:g/a/d

#删除所有空行

:g/^$/d

#多个空格替换为一个空格

:s/\+/ /g

#在正则表达式中使用和和符号括起正则表达式,即可在后面使用\1,\2等变量来访问和和中的内容,如下
将data1 data2修改为data2 data1

:s/\w\+\w\+\s\+\w\+\w\+/\2\t\1 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值