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###

  • 相关阅读:
    怎样在UIViewController的生命周期函数中判断是push或者是pop触发的生命周期函数
    配环境
    assert 断言
    mysql:创建新库,新表,查看character
    Python中的[...]是什么?
    同时安装了python3.4和python3.5,如何使用pip?
    亲测可用的优雅的在已经安装了python的Ubuntu上安装python3.5
    如何截网页长图?
    安装tensorflow
    unable to lock the administration directory (/var/lib/dpkg/) is another process using it
  • 原文地址:https://www.cnblogs.com/liu1026/p/7661919.html
Copyright © 2011-2022 走看看