Vim查找、替换与删除常用命令

查找与替换

  • 在文档中向后查找单词:/pattern,按n查找下一处,按N查找上一处。
  • 在文档中向前查找单词:?pattern,按n查找下一处(向前),按N查找上一处。
  • 精确匹配:/\<pattern>。
  • 高亮单词:gd
  • 文档中替换:%s/pattern/new_pattern/gc,%表示全部文档,g表示全局替换,c表示替换前需要确认,所有的pattern会被替换为new_pattern 
    1. :s/pattern/new_pattern/  :替换当前行的第一个pattern
    2. :s/pattern/new_pattern/g  :替换当前行的所有pattern
    3. :n,$s/pattern/new_pattern/  :替换第n行开始到文件尾中每一行的第一个pattern
    4. :n,$s/pattern/new_pattern/g  :替换第n行开始到文件结尾中每一行的所有pattern

              5.如果替换的字符串为空,则为删除原字符串

删除

  • 光标所在行:dd

  • 删除从光标所在行开始的n行:dnd,比如:d2d 会删除光标所在行及其后1行,共删除2行

  • 删除从光标所在行到文件结尾:dGG表示跳转到文件尾部)

  • 删除从光标行到文件头:dgggg表示跳转到文件头)

  • 删除从光标位置到尾行:d$$表示跳转到尾行)

  • 删除从光标位置到行头:d0(数字0表示跳转到行头)

  • 删除从光标位置到单词(word)尾:dw

  • 删除文档中所有匹配的行: :g/pattern/d , 其中pattern为要匹配的内容

  • 删除指定行中的匹配行: :1,10g/pattern/d,删除第1-10行里匹配pattern的行

  • 删除不包括指定内容的行: :v/pattern/d  或者 :g!/pattern/d   ,删除所有不包含pattern的行   

posted @ 2020-09-28 11:54  小白也会飞  阅读(1808)  评论(0编辑  收藏  举报