【Vim】查找与替换

前言

在日常编写代码的过程中,查找与替换的操作常常会用到。比如,方法内某个变量的名字需要重新命名、某些字符串内容需要更改等等。

虽然强大的 IDE 已经给我们提供了强大的 查找与替换 功能,但作为一个 Vim 重度使用者,可以用简洁的命令完成的事情,必须也安排上!

基本语法

:s(substitute)命令用来查找和替换字符串。语法如下:

:{作用范围}s/{目标}/{替换}/{替换标志}

例如 :%s/foo/bar/g 会在全局范围(%)查找 foo 并替换为 bar ,所有出现都会被替换(g)。

作用范围

作用范围分为当前行、全文、选区等等。

1、当前行:

:s/foo/bar/g

2、全文:

:%s/foo/bar/g

3、选区,在 Visual 模式下选择区域后输入 :,Vim 即可自动补全为 :'<,'>

:'<,'>s/foo/bar/g

4、某些行之间,如 2-11 行:

:2,11s/foo/bar/g

5、当前行 . 与接下来两行 +2

:.,+2s/foo/bar/g

替换标志符

上文中命令结尾的 g 即是替换标志之一,表示全局 global 替换(即替换目标的所有出现)。 还有很多其他有用的替换标志:

空替换标志表示只替换从光标位置开始,目标的第一次出现:

:%s/foo/bar

i 表示大小写不敏感查找,I 表示大小写敏感:

:%s/foo/bar/i
– 等效于模式中的\c(不敏感)或\C(敏感),如下,可以匹配到Foo \ FoO
:%s/foo\c/bar

c 表示需要确认,例如全局查找 "foo" 替换为 "bar" 并且需要确认:

:%s/foo/bar/gc

回车后 Vim 会将光标移动到每一次 “foo” 出现的位置,并提示

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

按下 y 表示替换,n 表示不替换,a 表示替换所有,q 表示退出查找模式, l 表示替换当前位置并退出。^E^Y 是光标移动快捷键。

结尾

非常简单实用的命令!

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值