• 不常用的vi命令


    vi

    u 撤回
    ctrl+r 撤回的撤回

    全文替换
    :%s/old/new/g
    :%s#old/new/g
    :1,$s#old/new/g

    指定行区间替换
    12,15s/old/new/g

    c替换前确认
    12,15s/old/new/gc

    用#代替分隔符,用户关键字有/字符时候
    12,15s#old#new#g

    从当前行删除到末行
    dG
    从当前行删除到首行
    dgg

    删除也叫剪贴
    dd

    将13到16行内容另存到newfile中
    :13,16 w /tmp/newfile.txt

    复制newfile.txt内容到当前文件当前行
    :r /tmp/newfile.txt

    恢复文件到初始状态
    :e!

    删除全文,%就是全部的意思
    :%d

    纵向选择
    ctrl+v
    r:进入改写模式,只有一个字符
    I:光标前插入字符(可以是多个)
    A:光标后插入字符(可以是多个)

    删除包含特定字符的行:
    1. 全局删除匹配到的行
    :g/pattern/d

    2. 删除第1-10行里的匹配到的行
    :1,10g/pattern/d

    3. 删除不包含指定字符的行
    :v/pattern/d

    :g!/pattern/d

    vim查找时区别大小写
    :set ic (ignore case)忽略大小写
    :set noic 不忽略大小写
    输入了上述指令,
    当每次的查找操作都会受到当前设定的影响,不过每次在退出vim编辑后,再重新打开以后的设置仍旧失效。

    第二种方法
    /CWord : 区分大小写的查找
    /cword : 不区分大小写的查找
    这个操作针对当前的查找有效, 所以不必考虑下次查找操作是否会受到影响.

  • 相关阅读:
    数组元素循环右移
    备忘录模式笔记
    调度算法(笔记)
    meta http-equiv的用法(转)
    常用Maven插件介绍(下)(转)
    常用Maven插件介绍(上)(转)
    maven命令
    JDK并发包
    线程基础
    Jav堆排序
  • 原文地址:https://www.cnblogs.com/goozgk/p/9332816.html
Copyright © 2020-2023  润新知