前两天同事在群里发了个通知,大致意思是大家做文案时不要用“最”,否则会违反广告法带来罚单。
我皮了一下,回了个“%s/最/第二/g”。微信截图
用vim的人都知道,这是把所有“最”替换成“第二”的意思。其实vim的查找替换功能非常强大,用的好可以极大提升效率。
vim的查找替换命令如下所示:
:{作用范围}s/{目标}/{替换}/{替换标志}
- 作用范围:
- 当前行 s
:s/最/第二/g 把当前行的所有“最”替换成“第二” - 全文 %s
:%s/最/第二/g 把全文的所有“最”替换成“第二” - 8-15行 8,15s
:8,15s/最/第二/g 把8-15行的所有“最”替换成“第二” - 当前行与接下来的5行 .,+5s
:.,+5s/最/第二/g 把当前行与接下来的5行的所有“最”替换成“第二”
- 当前行 s
- 目标:支持正则表达式
- 替换标志:
- 全局所有目标 g
例子如上面所示 - 大小写不敏感 i ,大小写敏感I
:%s/foo/bar/ig 把全文的所有“foo”替换为“bar”,忽略大小写 - 需要确认 c
:%s/最/第二/gc 把全文的所有“最”替换为“第二”,但是每一个都需要确认- 这时每次替换都会提示: replace with 第二 (y/n/a/q/l/^E/^Y)?
- y 确认替换当前的“最”
- n 不替换当前的“最”
- a 替换所有
- q 退出查找模式
- l 替换当前位置并退出
- ^E 窗口向下移动一行
- ^Y 窗口向上移动一行
- 全局所有目标 g
推荐阅读:
使用双buffer无锁化
不要拷贝
Spark“并行”写
转载请注明出处: blog.guoyb.com/2018/06/09/…