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垃圾回收器前瞻

    垃圾回收器的新发展   GC仍然处于飞速发展之中,目前的默认选项G1 GC在不断的进行改进,很多我们原来认为的缺点,例如串行的Full GC.Card Table扫描的低效等,都已经被大幅改进,例如, ...

  2. openstack核心组件——cinder存储服务(11)

    一.cinder 介绍:   理解 Block Storage 操作系统获得存储空间的方式一般有两种: 通过某种协议(SAS,SCSI,SAN,iSCSI 等)挂接裸硬盘,然后分区.格式化.创建文件系 ...

  3. Golang的Context介绍及其源码分析

    简介 在Go服务中,对于每个请求,都会起一个协程去处理.在处理协程中,也会起很多协程去访问资源,比如数据库,比如RPC,这些协程还需要访问请求维度的一些信息比如说请求方的身份,授权信息等等.当一个请求 ...

  4. MVC设计模式-笔记1

    MVC不仅仅是一个设计模式,它应该说是一种软件开发架构模式,它包含了很多的设计模式,最为密切是以下三种模式: 1.Observer观察者模式 2.Composite组合模式 3.Strategy策略模 ...

  5. PowerJob 从 0 到 1.9k star 的经历

    本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri 本文就是<讲解 PowerJob>系列的最后一篇文章了,纯粹是写点经历写点心路历程啥的,和大家道个别. ...

  6. Unity3d 游戏设计(一)井字棋

    3D游戏设计(一)井字棋 运行效果: 实现过程 声明变量: public Texture2D O; public Texture2D X; GUIStyle myStyle; private int ...

  7. 微服务实战系列(十)-网关高可用之中间件Keepalived

    1.场景描述 因为要做网关的高可用,用到了keepalived+nginx,来保证nginx的高可用,如下图: 安装了keepavlived,走了一些弯路,记录下吧,nginx的安装就不多说了,博客已 ...

  8. Vue编写的页面部署到springboot网站项目中出现页面加载不全问题

    问题描述: 在用Vue脚手架 编写出一个页面之后, 部署到后台项目中, 因为做的是一个页面 按理来说 怎么都能够在服务器上运行 , 我也在自己的node环境测试 , 在同学的springboot上运行 ...

  9. Python练习题 021:递归方法求阶乘

    [Python练习题 021] 利用递归方法求5!. ---------------------------------------------- 首先得弄清楚:5! 指的是"5的阶乘&qu ...

  10. python基础知识 变量 数据类型 if判断

    cpu 内存 硬盘 操作系统 cpu:计算机的运算和计算中心,相当于人类的大脑 飞机 内存:暂时存储一些数据,临时加载数据和应用程序 4G 8G 16G 32G 速度快,高铁 断电即消失 造价高 硬盘 ...