zoukankan      html  css  js  c++  java
  • VIM替换

    语法为 :[addr]s/源字符串/目的字符串/[option]

    全局替换命令为::%s/源字符串/目的字符串/g

    [addr] 表示检索范围,省略时表示当前行。

    如:“1,20” :表示从第1行到20行;

    “%” :表示整个文件,同“1,$”;

    “. ,$” :从当前行到文件尾;

    s : 表示替换操作

    [option] : 表示操作类型

    如:g 表示全局替换

    c 表示进行确认

    p 表示替代结果逐行显示(Ctrl + L恢复屏幕);

    省略option时仅对每行第一个匹配串进行替换;

    如果在源字符串和目的字符串中出现特殊字符,需要用””转义

    下面是一些例子:

    #将That or this 换成 This or that

    :%s/(That) or (this)/u2 or l1/

    —- 

    #将句尾的child换成children

    :%s/child([ ,.;!:?])/children1/g

    —-

    #将mgi/r/abox换成mgi/r/asquare

    :g/mg([ira])box/s//mg//my1square/g    <=>  :g/mg[ira]box/s/box/square/g

    —-

    #将多个空格换成一个空格

    :%s/  */ /g

    —-

    #使用空格替换句号或者冒号后面的一个或者多个空格

    :%s/([:.])  */1 /g

    —-

    #删除所有空行

    :g/^$/d

    —-

    #删除所有的空白行和空行

    :g/^[  ][  ]*$/d

    —-

    #在每行的开始插入两个空白

    :%s/^/>  /

    —-

    #在接下来的6行末尾加入.

    :.,5/$/./

    —-

    #颠倒文件的行序

    :g/.*/m0O  <=> :g/^/m0O

    —-

    #寻找不是数字的开始行,并将其移到文件尾部

    :g!/^[0-9]/m$ <=> g/^[^0-9]/m$

    —-

    #将文件的第12到17行内容复制10词放到当前文件的尾部

    :1,10g/^/12,17t$

    ~~~~重复次数的作用

    —-

    #将chapter开始行下面的第二行的内容写道begin文件中

    :g/^chapter/.+2w>>begin

    —-

    :/^part2/,/^part3/g/^chapter/.+2w>>begin

    —-

    :/^part2/,/^part3/g/^chapter/.+2w>>begin|+t$

  • 相关阅读:
    P1268 树的重量
    P2419 [USACO08JAN]牛大赛Cow Contest
    P1306 斐波那契公约数
    P2905 [USACO08OPEN]农场危机Crisis on the Farm
    P1081 开车旅行
    P2906 [USACO08OPEN]牛的街区Cow Neighborhoods
    P1550 [USACO08OCT]打井Watering Hole
    P2746 [USACO5.3]校园网Network of Schools
    P1613 跑路
    【BZOJ4868】期末考试(整数三分)
  • 原文地址:https://www.cnblogs.com/maoxiaolv/p/5528078.html
Copyright © 2011-2022 走看看