• 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$

    http://www.qytang.com

    http://www.qytang.com/cn/list/28/446.htm
    http://www.qytang.com/cn/list/28/445.htm
    http://www.qytang.com/cn/list/28/444.htm
    http://www.qytang.com/cn/list/28/442.htm
    http://www.qytang.com/cn/list/28/440.htm
    http://www.qytang.com/cn/list/28/437.htm
    http://www.qytang.com/cn/list/28/435.htm
    http://www.qytang.com/cn/list/28/434.htm
    http://www.qytang.com/cn/list/28/433.htm
    http://www.qytang.com/cn/list/28/431.htm
    http://www.qytang.com/cn/list/28/328.htm
    http://www.qytang.com/cn/list/28/326.htm
    http://www.qytang.com/cn/list/28/429.htm

  • 相关阅读:
    CodeForces 103D 分块处理
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    Codeforces Round #375 (Div. 2)
    HYSBZ 1588 营业额统计
    Codeforces Round #371 (Div. 2)
    Codeforces Round #371 (Div. 2)
    Codeforces Round #371 (Div. 2)
    ACM学习历程—POJ3565 Ants(最佳匹配KM算法)
  • 原文地址:https://www.cnblogs.com/qytang/p/5549912.html
Copyright © 2020-2023  润新知