• vim 替换


    摘自: vim替换命令

    替換(substitute)

    :[range]s/pattern/string/[c,e,g,i]
    range 指的是範圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後一行,也就是整篇文章,也可以 % 代表。還記得嗎? % 是目前編輯的文章,# 是前一次編輯的文章。
    pattern 就是要被替換掉的字串,可以用 regexp 來表示。
    string 將 pattern 由 string 所取代。
    c confirm,每次替換前會詢問。
    e 不顯示 error。
    g globe,不詢問,整行替換。
    i ignore 不分大小寫。

    1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

    :s/vivian/sky/g 替换当前行所有 vivian 为 sky

    2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

    :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

    (n 为数字,若 n 为 .,表示从当前行开始)

    3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

    :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

    4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

    :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

    5. :.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

    6.

    :'<,'>s/BIT_MASK_/zs/d*/ze//=line(".") - line("'<") + 1

     

    这条命令在我们选中的区域内进行替换,查找以“BIT_MASK_”开头,后面跟任意多个数字的字符串,并把匹配位置放在数字上,然后使用后面表达式计算出来的数字替换这些匹配的数字。
    下面是这条命令中每个元素的含义:

    '<,'>        我们所选中的区域 (:help '<,:help '> )
    s            在选中的区域中进行替换 (:help :s )
    /zs          指明匹配由此开始 (:help //zs )
    /d*          查找任意位数的数字 (:help //d )
    /ze          指明匹配到此为止 (:help //ze )
    /=           指明后面是一个表达式 (:help :s/= )
    line(".")    当前光标所在行的行号 (:help line() )
    line("'<")   我们所选区域中第一行的行号 (:help line() )
  • 相关阅读:
    hdu5754_找规律+威佐夫博弈
    codeforce645C_尺取法
    hdu4336_容斥dp
    poj3071_概率dp
    codeforces148D_推论题
    poj2151_概率dp
    hdu3853_概率dp
    POJ 1410 判断线段与矩形交点或在矩形内
    POJ 1066 Treasure Hunt 线段相交判断
    POJ 2653 Pick-up sticks 判断线段相交
  • 原文地址:https://www.cnblogs.com/drizzlewithwind/p/5832830.html
Copyright © 2020-2023  润新知