2020.10.22星期四  正式班D13

修改文件内容

  1. vim编辑

    1. vim基础

      1. 可理解为Windows下的文本编辑器
      2. vim可用来修改配置、写脚本
      3. 三种模式(命令模式、输入模式、末行模式)
        1. 命令模式按a(所选后面开始输入)、A(所选行的行尾)、i(所选前一位输入)、I(所选行的行首)、o(所选新起下一行)、O(新起上一行)等进入输入模式
        2. 命令模式按':'键进入末行模式
        3. 输入模式、末行模式进入命令模式
    2. 命令模式

      1. 光标的移动

        1. $ # 光标移动到当前行的行尾
        2. 0 # 光标移动到当前行的行首
        3. gg # 光标移动到首行的行首
        4. G # 光标移动到尾行的行尾
        5. nG # n为数字,光标移动到第n行(20G是移动到20行行首)
        6. H # 光标移动到当前界面首行的行首
        7. h #光标往左移
        8. j # 光标往下移
        9. k # 光标往上移
        10. l # 光标往右移
        11. M # 光标移动到当前界面中间行的行首
        12. L # 光标移动到当前界面尾行的行尾
        13. ^ # 光标移动到第一个非空格字符
      2. 删除、复制、剪切

        1. dd # 剪切、删除光标所在行
        2. ndd # n为数字,即删除光标及往下n行(20dd是删除20行)
        3. yy # 复制光标所在行
        4. nyy # n为数字,即复制光标及往下n行(20yy就是复制20行)
        5. p # 粘贴到光标下一行
        6. P # 粘贴到光标上一行
        7. np # n为次数,5p就是粘贴5次
        8. u # 撤回
        9. CTRL+r # 撤回撤销
        10. r # 用来修改光标所在的字符
        11. R # 进入替换模式
        12. x # 删除光标所在字符
        13. D # 从光标处删除至行尾
      3. 可视块

        1. 批量去注释

          1. 光标移动到需要去注释的行首
          2. CTRL+v
          3. 上下键选择#
          4. 按"d"
        2. 批量加注释
          1. 光标移动到需要去注释的行首
          2. CTRL+v选择好一列
          3. 按shift+i,按#
          4. 连续按两次Esc
      4. 查找内容

        /查找的内容

    3. 输入模式

      CTRL+p 或CTRL+n# 自动补全命令(相当于Tab)

      例如:上文输入过ifconfig,下文输入if再按ctrl+p或n可自动补全ifconfig

      例二:上文输入过print、prend,下文输入pr再按ctrl+p/n会有两个选项选择

    4. 末行模式(:)

      1. 基础命令

        1. :10 # 进入第十行
        2. :w # 保存
        3. :q # 退出(:q!强制退出)
        4. :wq # 保存退出(:wq!强制保存退出)
        5. :x # (保存退出)
        6. : set nu # 加行号
        7. : set nonu # 去行号
        8. : set ic # 不区分大小写
        9. : set ai # 自动缩进
      2. 查找替换
        1. :范围 s/xxx/yyy/选项

          1. :1,5 s/xxx/yyy/ # 表示从1~5行的首个xxx替换为yyy
          2. :1,$ s/xxx/yyy/ # 表示从1到最后一行的首个xxx替换为yyy
          3. :1,5 s/xxx/yyy/g # 表示从1~5行的全部xxx替换为yyy
          4. :% s/xxx/yyy/ # 表示全文的xxx替换为yyy(%为所有行g为一整行)
          5. :% s/^xxx/yyy/g # 表示以xxx开头的替换为yyy
          6. :% s/xxx$/yyy/g # 表示以xxx结尾的替换为yyy
          7. :% s/^xxx$/yyy/g # 表示以xxx开头且以xxx为结尾的替换为yyy
        2. 读入文件
          1. :w # 保存
          2. :w /aaa.txt # 另存为/aaa.txt
          3. :1,3 w/2.txt # 将1~3行另存到/2.txt
          4. :r /etc/hosts # 将/etc/hosts插入到光标下一行
    5. 设置环境

      1. 临时设置

        1. :set nu # 设置行号
        2. :set nonu # 取消设置行号
        3. :set ic # 不区分大小写
        4. :set noic # 取消不区分大小写
        5. :set ai # 自动缩进
        6. :set list # 用$标识行尾
      2. 永久设置
        1. /etc/vimrc # 影响所有系统用户
        2. ~/.vimrc # 影响某一个用户(在家目录下新增一个文件)
        3. 输入set ic及set nu
    6. 同时编辑多个文件

      1. vim -o 文件1 文件2 # 水平分隔

        vim -O 文件1 文件2 # 垂直分割

        用CTRL+ww切换

      2. vim -p 文件1 文件2

        用CTRL+PgUp,CTRL+PgDn切换

    7. 文件内容对比

      diff # 文件对比(no)

      vimdiff # 以vim方式打开两个文件对比,高亮显示不同的内容

      vimdiff 文件1 文件2 # 用CTRL+ww切换

    8. vim执行过程

      遇到故障意外退出时,会保存.swp文件,再次编辑时会提示

    9. 打补丁

      1. 创建1.txt和2.txt两个文件(1基础本,2修改版)
      2. diff -u 1.txt 2.txt > a.diff # 以2.txt为准的补丁文件
      3. diff -u 2.txt 1.txt > b,diff # 以1.txt为准的补丁文件
      4. patch 1.txt a.diff # 将1.txt改成与2.txt一样(a补丁打入1.txt)
      5. patch 1.txt b.diff # 将新的1.txt改回原来的1.txt

正式班D13的更多相关文章

  1. 正式班D5

    2020.10.10星期六 正式班D5 一.上节课复习 1.硬盘分类 ​ 1.机械磁盘 ​ io时间=平均寻道时间+平均延迟时间 ​ buffer:写缓冲区 ​ cache:都缓存 ​ 2.固态硬盘 ...

  2. 正式班D7

    2020.10.13星期二 正式班D7 一.上节课复习 Linux发展 批处理系统 多道技术 分时操作系统 multics->Unix->minix->Linux(如Redhat.c ...

  3. 正式班D8

    2020.10.15星期四 正式班D8 一.上节课复习 OSI七层协议 socket socket是对传输层以下的封装 IP+port标识唯一一个基于网络通讯的软件 TCP与UDP TCP:因为在通信 ...

  4. 正式班D9

    2020.10.16星期五 正式班D9 一.vmware workstation的使用 虚拟机管理软件 定义 虚拟机(Virtual Machine)软件是一套特殊的软件,它可以作为操作系统独立运行, ...

  5. 正式班D11

    2020.10.20星期二 正式班D11 bash解释器交互式环境特性 命令和文件自动补全(Tab只能补全命令和文件) 快捷键 CTRL+C ==>终止前台运行的程序 CTRL+D ==> ...

  6. 正式班D12

    2020.10.21星期三 正式班D12 一.目录结构 系统目录结构 目录 文件夹:存放的是具体有哪些文件 文件:存放的就是具体的数据 需要记住的 /dev/cdrom # 光盘设备,光盘里存放的内容 ...

  7. 正式班D14

    2020.10.23星期五 正式班D14 9.5 文件处理三剑客(支持|) 9.5.1 sed流式编辑器 事先制定好编辑文件的指令,让sed自动完成对文件的整体编辑(同一时间内存中只有文件中一条) # ...

  8. 正式班D16

    2020.10.27星期二 正式班D16 目录 9.9 字符处理命令 9.9.1 sort排序 9.9.2 uniq去重 9.9.3 cut处理规律文本 9.9.4 tr替换 9.9.5 wc统计 9 ...

  9. 正式班D20

    2020.11.02星期五 正式班D20 目录 11 软件包管理 11.1 软件包介绍 11.1.1 编程语言分类 11.1.2 三种安装包 11.2 rpm包管理 11.2.1 rpm包简介 11. ...

随机推荐

  1. JVM运行时数据区--本地方法栈

    本地方法栈 1.Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(一般非Java实现的方法)的调用 2.本地方法栈,也是线程私有的. 3.允许被实现成固定或者是可动态拓展的内存 ...

  2. (专题一)04 matlab矩阵表示

    矩阵的建立 1. 直接输入法建立矩阵, 建立一个三行三列的矩阵 >>A=[1,2,3;4,5,6;7,8,9] 建立一个三行两列的矩阵 >>B=[1,2;4,5;7,8] 2. ...

  3. Java内部类使用场景和作用

    一.Java内部类的分类 Java内部类一般包括四种:成员内部类.局部内部类.匿名内部类和静态内部类 大多数业务需求,不使用内部类都可以解决,那为什么Java还要设计内部类呢. 二.内部类的使用场景 ...

  4. JavaGuide

    最近在看JavaGuide整理的java文档 仅此记录

  5. Python安装与环境变量配置 入门详解 - 精简归纳

    Python安装与环境变量配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 24 转载请注明出处!️ 目录 Python安装与环境变量配置 入门详解 - 精简归纳 一.下载Py ...

  6. Java Web项目获取客户端和服务器的IP地址

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...

  7. 普转提Day2

    T1 给定一个区间,求这个区间中只有一个数字与其他数组不相同的数的个数. 给出的区间范围较大,但是要求的数比较少.所以我的想法是这样的:因为这些数只有一个数字和每个数字都相同的数不同,所以考虑将所有数 ...

  8. hadoop分布式格式化时出现异常java.net.unknownhostexception

    当搭建好分布式集群后,准备使用命令格式化时 hdfs namenode format 在日志的最后一行出现 java.net.unknownhostexception的异常,通常是你的主机名没有配置好 ...

  9. Python-对字典进行排序

    案例: 某班英语成绩以字典的形式存储为: {'lili':78, 'jin':50, 'liming': 30, ......} 依据成绩高低,进行学生成绩排名 如何对字典排序? 方法1: #!/us ...

  10. 一种统计ListView滚动距离的方法

    注:本文同步发布于微信公众号:stringwu的互联网杂谈 一种统计ListView滚动距离的方法 ListView做为Android中最常使用的列表控件,主要用来显示同一类的数据,如应用列表,商品列 ...