vimdiff

回忆上次

  • 上次有三种批量替换,分别是

    • :windo
    • :bufdo
    • :argdo
  • 执行的{cmd}可以用按顺序增加

    • update 自动更新
    • :set autowrite 自动写入
    • :set hidden 可以隐藏未保存 buffer
  • 分别对应的windowbuffersarguments
  • 各有各自的列表、切换、删除、增加的方式
  • 多文件多窗口还有什么可玩的么?
  • 下次再说

观察对比

  • 首先编辑一个go.java

  • 连续数字产生方法

    • ctrl-v进入块·可视化
    • 纵向选中1
    • g之后ctrl-a
    • 完成加法操作

进行修改

  • 对于这个go.java复制粘贴出一个副本

    • :saveas go2.java
    • :e go2.java
    • 新增一行
    • 修改一行
    • 删除一行
  • 然后保存并退出vim

进行比较

  • vimdiff go.java go2.java
  • vimdiff 就是专门用比较的
  • 后面两个参数是待比较的文件

  • {1..9}行被折叠了

    • 因为都是相同的
  • 16行有修改

    • 紫色的
  • 19行被删除了

    • 左蓝色右青色
    • 右边是-----------
  • 22行是增加的一行

    • 左青右蓝
    • 左边是-----------

编辑的时候比较

  • :vi go.java
  • 如果文件已经打开
  • :vertical diffsplit go2.java 可以开启比较

    • 如果vertical被省略
    • 就会横向打开文件
  • 同步滚动

    • 属性为scrollbind
    • 默认同步滚动
    • 可取消同步
  • 遍历所有的修改change

    • ]c 下一条修改
    • [c 上一条修改
    • 其中

      • [] 指的是跳转
      • c 指的是 change 变化
  • 根据当前光标位置

    • 把当前的改成对比的

      • do
      • diff obtain
    • 把对比的改成当前的

      • dp
      • diff put

总结

  • 我们可以用vimdiff快速的比较文件
  • 这很实用!!!
  • 实用的一些跳转方式
  • 遍历所有的修改change

    • ]c 下一条修改
    • [c 上一条修改
  • 遍历所有的函数method

    • ]m 下一条修改
    • [m 上一条修改
  • 面对不同点

    • 把当前的改成对比的 - do - diff obtain
    • 把对比的改成当前的 - dp - diff put
  • 关于多窗口
  • 还有什么好玩的吗?
  • 下次再说

[Github地址] (https://github.com/overmind1980/oeasyvim)

[Gitee地址] (overmind1980/oeasyvim)

[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)

oeasy教您玩转vim - 66 - # 比较修改模式 vimdiff的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  5. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  6. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  7. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  9. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  10. oeasy教您玩转linux-010110内容回顾

    我们来回顾一下 我们都讲了什么?

随机推荐

  1. MySQL慢查询及优化

    最近做一个CRM系统,发现了慢查询日志里记载了许多的慢sql,于是就对其进行了sql优化.在优化的过程中,自己也归纳整理了一些sql优化的方案.今天就来和大家聊聊. **1.慢查询的分析** 常见的分 ...

  2. Supervisor 守护进程管理工具

    引言 Supervisor 是基于 Python 编程语言开发的一套通用的进程管理程序,它是通过 fork/exec 的方式把需要管理的进程作为子进程来管理. 安装 pip3 安装 superviso ...

  3. ASP.NET Core SignalR 概述

    什么是 SignalR? ASP.NET Core SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能. 实时 Web 功能使服务器端代码能够将内容推送到客户端. 适合 Sig ...

  4. Vue3使用Composition API实现响应式

    title: Vue3使用Composition API实现响应式 date: 2024/5/29 下午8:10:24 updated: 2024/5/29 下午8:10:24 categories: ...

  5. pandas基础--数据结构:索引对象

    pandas含有是数据分析工作变得更快更简单的高级数据结构和操作工具,是基于numpy构建的. 本章节的代码引入pandas约定为:import pandas as pd,另外import numpy ...

  6. 使用Wesky.Net.Opentools库,一行代码实现自动解析实体类summary注释信息(可用于数据实体文档的快速实现)

    使用前,需要对你的项目勾选输出api文档文件. 引用Wesky.Net.OpenTools包,保持1.0.11版本或以上.   为了方便,我直接在昨天的演示基础上,继续给实体类添加注释. 昨天的演示文 ...

  7. P7448

    problem & 双倍经验 & blog 低配版本 没有 Ynoi 标志性算法卡常,这点差评. 拆解问题 定义 \(lst_i\) 为上一个和 \(i\) 号点相同的位置. 由于几个 ...

  8. AT_agc044_c

    problem & blog 由于看到和三进制有关的操作,可以想到建造每个结点都有三个儿子的 Trie.考虑维护两种操作. 1.Salasa 舞 对于这种操作,就是把每一个节点的第一个儿子和第 ...

  9. INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题,Gateway 内存异常增长等问题

    INFINI Labs 产品又更新啦~,本次更新主要对 Easysearch.Gateway.Console.Agent 等产品功能进行优化和相关 Bug 修复,解决了内存异常增长等问题,以下是详细说 ...

  10. DoNet Core的启动过程-WebApplicationBuilder

    1.前言 在NET6开始做ASP.NETCore的开发,我们首先要看的是启动过程,而WebApplication和WebApplicationBuilder 类是启动过程好不开的类,WebApplic ...