zoukankan      html  css  js  c++  java
  • 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() )
  • 相关阅读:
    [转载]windows进程中的内存结构
    RTTI和4个强制转换运算符
    由于应用程序配置不正确,程序未能启动
    光照
    服务器数据同步
    SAP
    PHP输入流php://input
    五款常用mysql slow log分析工具的比较
    开发搜索引擎–PHP中文分词
    大型网站调试工具之一(php性能优化分析工具XDebug)
  • 原文地址:https://www.cnblogs.com/drizzlewithwind/p/5832830.html
Copyright © 2011-2022 走看看