zoukankan      html  css  js  c++  java
  • 末行模式

    1)地址定界
    :start_pos[,end_pos]
    #: 特定的第#行,例如5 为第五行
    .: 当前行
    $:最后一行
    #,#:指定行范围,左侧为起始行
    #,#+:指定行范围,右侧为左侧行的偏移量 ,例如:3,+7
    %:全文
    /pattern/:第一次被模式所匹配到的行

    2:可实现编辑操作 ,同编辑命令一同使用
    d:表示直接删除,要求直接跟在地址定界符号的后面, 例如::.,$d 表示当前行到最后一行删除。
    y:用来复制地址定界匹配到的行
    c:用来修改地址定界匹配到的行
    w /path/to/file :将范围内的文本保存至文件中
    r /path/to/file:将指定的文件的文本插入指定位置

    3:查找
    /pattern:查找模式匹配到的所有字符串,向下查找, 然后在键盘上按n键会继续向下匹配
    ?pattern: 查找模式匹配到的所有字符串,向上查找,然后在键盘上按n键会继续向上匹配

    4:查找并替换(极其重要)
    1)格式:地址地接符s/要查找的内容/替换为的内容/修饰符 (例如:%s/a/b/g  这里是把vim编辑中的'a'替换成'b','g'表示全局替换)u 是撤销。U 是一次性撤销对该一行的操作。
    要查找的内容:可以使用正则表达式
    替换为的内容:不能使用正则表达式,但是可以引用
    如果使用了分组,也就是在要查找的内容中使用了( )话,可以使用后向引用, 1表示引用第一个括号匹配的内容, 2表示第二个括号匹配的内容, 3表示第三个括号匹配的内容
    也可以直接引用查找模式匹配到的整个文本,直接使用匹配模式的全部文本:用&符号引用整个模式匹配到的文本

    2)修饰符
    i:忽略大小写
    g:全局替换,也就是如果不加g的话,那么只是一行匹配一个,如果第二个被匹配了也不会被替换,如果加了g,那么一行中无论匹配到多少个都会被替换

    3)可把分隔符替换为非常用的字符
    例如:s@@@
    s###

  • 相关阅读:
    Core Data入门
    web前端开发与iOS终端开发的异同
    Blocks编程
    ARC下循环引用的问题
    小项目
    error: /Users/**/Documents/workspace/***/clean_right_normal.png: No such file or directory
    修复NSTextAlignmentCenter引起的警告
    Implicit conversion loses integer precision: 'long long' to 'NSUInteger' (aka 'unsigned int')
    手势相关函数
    implicit declaration of function setxattr is invalid in c99
  • 原文地址:https://www.cnblogs.com/liu1026/p/7661919.html
Copyright © 2011-2022 走看看