UNIT23 VIM Substitute

.:[address]s/from/to/[flags]

1.基本范例

:s/^\<the\>/these/   用these替换当前行中第1个the

:s/part1 /part2/g    用part2替换当前行中所有的part1

:%s/part1/part2      用part2替换所有行中每行第1个part1

:%s/part1/part2/g    用part2替换所有行中所有的part1

:50s/part1 /part2    用part2替换第50行中的第1个part1

:2,$s/part1/part2/g  用 part2替换第2行到末行中所有的part1

:.,+3s/part1/part2   用part2替换当前行以及当前行后面的三行中每行第1个part1

:.,-3s/part1/part2/g 用part2替换当前行以及当前行前面的三行中所有的part1

:.,$s/yes/no/

/str//w  filea     删除后保存

:/str1/str2/w  filea  替换后保存

:s+one/two+one or two+要替换的字串中包含/用+作为分隔符

/str/s/str1/str2  在首将出现str的行中出现的第一个str1替换为str2

g/str/s/str1/str2  在所有行中将含str的行中出现的第一个str1替换为str2

g/str/s/str1/str2/g在所有行中将含str的行中出现的所有str1替换为str2

:g/字串1/s//字串2/      用“字串2”替换“字串1”,每行只替换第一个

2.以下是采用替换操作进行常见注释格式操作的命令样式

:s/^/#        #用”#”注释当前行

:2,50s/^ /#   #在2~50行首添加”#”注释

:.,+3s/^/#    #用”#”注释当前行和当前行后面的三行

:%s/^/#       #用”#”注释所有行

3.替换一个word

如果你是在写程序,你可能只想替换那些出现在注释中的"four",代码中的留下。这可有点为难,"c"标志可以让每个目标被替换之前询问你的意见:

:%s/\<four\>/4/gc

replace with Teacher (y/n/a/q/l/^E/^Y)?

此时,你可以有几种答案:

y 好吧,替换吧

n 不,这个先留着

a 别问了,全部换掉吧(这群教授都不够格?? :-) )

q 退出,剩下的也不要管了

l 把现在这个改完就退出吧

.区块的复制.移动.替换.删除(与sed相同)

:n1 n2 m n3

move

:n1,n2 co $

copy

:g/字串/p

显示所有带有“字串”的行

:g!/字串/p

显示不带有字串的行

:n1,n2 g/字串/p

显示从n1到n2中,所有带有“字串”的行

:g/字串/d

删除所有带有“字串”的行

:g/字串/!d

删除所有不带有“字串”的行

:v/.xxxx./d  只保留含 xxxx 的行,其余都删掉

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值