Vim基础技能-查找替换

Posted 后端技术小黑屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim基础技能-查找替换相关的知识,希望对你有一定的参考价值。



前两天同事在群里发了个通知,大致意思是大家做文案时不要用“最”,否则会违反广告法带来罚单。

我皮了一下,回了个“%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行的所有“最”替换成“第二”

  • 目标:支持正则表达式

  • 替换标志:

    • 这时每次替换都会提示: replace with 第二 (y/n/a/q/l/^E/^Y)?

    • y 确认替换当前的“最”

    • n 不替换当前的“最”

    • a 替换所有

    • q 退出查找模式

    • l 替换当前位置并退出

    • ^E 窗口向下移动一行

    • ^Y 窗口向上移动一行

    • 全局所有目标 g
      例子如上面所示

    • 大小写不敏感 i ,大小写敏感I
      :%s/foo/bar/ig   把全文的所有“foo”替换为“bar”,忽略大小写

    • 需要确认 c
      :%s/最/第二/gc  把全文的所有“最”替换为“第二”,但是每一个都需要确认




推荐阅读:





题图:snake8205637

授权:CC0协议



以上是关于Vim基础技能-查找替换的主要内容,如果未能解决你的问题,请参考以下文章

vim基础shell

linux基础知识与技能2

为什么要选择Sublime Text3?

如何在Vim中的查找替换

在 Vim 中优雅地查找和替换

关于在vim中的查找和替换