Linux笔记之diff和vimdiff

news2024/9/21 22:52:47

Linux笔记之diff和vimdiff

code review!

文章目录

  • Linux笔记之diff和vimdiff
    • 一.diff
      • 1.1.使用diff比较文件夹
      • 1.2.使用diff比较文件
      • 1.4.colordiff——带颜色输出差异
    • 二.vimdiff
      • 2.1.vimdiff颜色差异
      • 2.2.vimfiff调整栏宽
      • 2.3.修改颜色变谈,使代码可以看清楚
      • 2.4.vimdiff一次性退出所有分屏窗口

一.diff

参考博文:阮一峰的网络日志——读懂diff

比较文件夹不同于比较文件

1.1.使用diff比较文件夹

最常用参数:-rq
-r 选项表示递归比较目录及其子目录中的文件。
-q 选项表示只显示差异,而不显示具体的差异内容。

使用示例:
在这里插入图片描述

1.2.使用diff比较文件

  • 1.实验-正常格式:diff a.cc b.cc

  • 2.实验-上下文格式:diff -c a.cc b.cc

  • 3.实验-合并格式:diff -u a.cc b.cc

  • 4.实验-git格式:git diff a.cc b.cc

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.4.colordiff——带颜色输出差异

在这里插入图片描述

二.vimdiff

2.1.vimdiff颜色差异

在这里插入图片描述

vimdiff 中的颜色差异是通过不同的语法高亮和背景颜色来表示的,具体的颜色可能取决于Vim 配置。然而,通常情况下,vimdiff 使用以下颜色表示不同的差异:

  1. 新增行:通常以绿色表示,新添加的行会有绿色的背景。这表示这些行只存在于一个文件中,而不在另一个文件中。

  2. 删除行:通常以红色表示,被删除的行会有红色的背景。这表示这些行存在于一个文件中,但在另一个文件中被删除了。

  3. 改动行:通常以黄色表示,被更改的行会有黄色的背景。这表示这些行在两个文件中都存在,但在它们之间存在差异。

  4. 相同行:相同的行通常以灰色表示,没有特殊的背景颜色。这表示这些行在两个文件中完全相同,没有差异。

请注意,具体的颜色和外观可能因 Vim 配置和颜色方案而有所不同。可以查看Vim 配置文件,如 .vimrc,以了解当前的颜色配置。如果希望更改颜色,可以编辑 Vim 的颜色配置或选择不同的颜色方案来满足偏好。

2.2.vimfiff调整栏宽

vimdiff 中调整栏(panel)宽度是可能的,这可以让您更好地适应屏幕上的差异。您可以使用以下键盘快捷键来调整栏宽:

  1. 手动调整栏宽度:

    • vimdiff 中,您可以手动调整栏宽度。将光标移动到两个栏之间的分隔线上,然后使用鼠标左键点击并拖动以调整栏宽。
  2. 使用快捷键:

    • 您还可以使用以下快捷键来调整栏的宽度:
      • Ctrl + W(按住 Ctrl 键,然后按 W 键)后跟 >:将焦点移动到右侧的面板,然后使用 > 来增加右侧面板的宽度。
      • Ctrl + W 后跟 <:将焦点移动到左侧的面板,然后使用 < 来增加左侧面板的宽度。
      • 这些快捷键使您可以在两个面板之间分配屏幕空间。

请注意,vimdiff 默认使用平均的栏宽分配,但您可以使用上述方法手动调整它们以适应您的需求。这对于在不同的差异部分之间进行更详细的比较非常有用。

2.3.修改颜色变谈,使代码可以看清楚

在 ~/.vimrc 中加入

if &diff
    colorscheme evening
endif

在这里插入图片描述

2.4.vimdiff一次性退出所有分屏窗口

要一次退出 vimdiff 中的所有分屏窗口,您可以使用以下步骤:

  1. vimdiff 中,确保您已在主窗口(可能是左侧的窗口)。

  2. 使用以下命令退出所有分屏窗口并关闭 vimdiff

    :qa
    

    这将执行以下操作:

    • :q 表示退出 Vim 中的当前窗口。
    • a 表示 “all”,意味着关闭所有打开的窗口。

    这将关闭 vimdiff 中的所有分屏窗口并退出 Vim。

请注意,如果您在 vimdiff 中进行了更改但没有保存,Vim 可能会提示您保存更改或放弃更改,具体取决于您的操作。确保在退出之前保存任何重要的更改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1122585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[AUTOSAR][诊断管理][ECU][$14] 清除诊断相关信息

文章目录 一、简介(1)应用场景(2)清除DTC原理(3) 请求格式二、示例代码(1) 14_cls_dtc_info.c三、 常见bug大揭秘一、简介 根据ISO14119-1标准中所述,诊断服务14主要用于Client向Server(ECU)请求清除诊断相关信息。 (1)应用场景 一般而言,14诊断服务,主要应用场景…

面向对象(基础)特征一:封装性(encapsulation)

文章目录 一、介绍&#xff08;1&#xff09;封装性&#xff08;2&#xff09;权限修饰符 二、案例&#xff08;1&#xff09;案例1 三、练习&#xff08;1&#xff09;练习1&#xff08;2&#xff09;练习2&#xff08;3&#xff09;练习3&#xff08;4&#xff09;练习4 面向…

【2023年11月第四版教材】软考高项极限冲刺篇笔记(3)

8 成本管理 成本类型:可变成本、固定成本、直接成本、间接成本、机会成本、沉没成本 应急储备:成本基准内 管理成本:成本基准外 进度偏差:SV,SPI 成本管理主要是规划和控制 成本估算 类比估算 参数估算 自上而下估算 三点估算 备选方案分析 储备分析 质量成本 总资…

strstr函数和strtok函数

文章目录 strstr函数函数使用函数模拟实现strtok函数 strstr函数 参数为两个字符串的地址&#xff0c;在str1中找str2不包括结束符。 函数使用 #include<stdio.h> #include<string.h>int main() {char* str1 "abcdeffgmnlo";char* str2 "de"…

《语音优先》智能语音技术驱动的交互界面设计与语音机器人设计(译者序)...

“言为心声,语为心境”&#xff0c;语言与对话是我们沟通与协作的重要方式。而智能语音技术是一种基于人工智能和自然语言处理技术的语音交互技术。它可以通过语音识别技术将用户的语音指令转换为文本&#xff0c;然后通过自然语言处理技术对文本进行分析和理解&#xff0c;最终…

TP-LINK XDR6088 WiFi6路由器 简单开箱评测

TL-XDR6088易展版AX6000双频WiFi6路由器 简单开箱测评&#xff0c;双2.5G网口&#xff0c;双频8流&#xff0c;8颗FEM&#xff0c;支持Docker。 TP-LINK XDR5470 WiFi6路由器 简单开箱评测&#xff1a;https://blog.zeruns.tech/archives/725.html TP-LINK XDR3040 WiFi6路由…

WinMIPS64汇编指令详解

目录 MIPS指令R I J三种格式 MIPS五种寻址方式 立即数寻址 寄存器寻址 基址寻址 PC相对寻址 伪直接寻址 WinMIPS64汇编指令 助记 从内存中加载数据 lb lbu lh lhu lw lwu ld l.d lui 存储数据到内存 sb sh sw sd s.d 算术运算 daddi daddui dadd…

C++笔记之vector的初始化以及assign()方法

C笔记之vector的初始化以及assign()方法 —— 2023年4月15日 上海 code review 文章目录 C笔记之vector的初始化以及assign()方法代码——实践出真知0. 空的vector1. 花括号(initializer_list)——最推荐的初始化方法2. 花括号3. 圆括号花括号4. 圆括号5. 圆括号6. 指针花括号7…

我做不到受每个人喜欢

我做不到受每个人喜欢 我想描述一下昨天发生争吵后我个人的观点&#xff0c;希望能够重新呈现出一种积极的态度。 首先&#xff0c;让我简要梳理一下事件的经过&#xff0c;当天我像往常一样去另一个宿舍找人聊天&#xff0c;可能因为说话声音有点大&#xff0c;坐在我后面的那…

GUI设计——PyQt5快速入门

一、学习目标 了解有关GUI界面设计的基本语法能够编写简单的界面设计程序 二、PyQt5 安装与环境配置 首先&#xff0c;本人通过网上的教程&#xff0c;在Index of / (qt.io)官网上下载好了 Qt Designer 和 Qt Creator 。本人下载的版本为 5.14。随后&#xff0c;通过网络的资源…

【Spring Cloud Alibaba】seata分布式事务官方入门案例(实战版)

文章目录 1. 业务介绍1.1. 用例1.2. 架构图1.3. 3个服务的代码及业务逻辑&#xff08;略&#xff09; 2. SEATA 的分布式交易解决方案3. 由Dubbo SEATA提供支持的示例&#xff08;实战&#xff09;3.1. 步骤 1&#xff1a;建立数据库&#xff0c;如seata数据库3.2. 步骤 2&…

OSPF基础实验

一、实验拓扑 二、实验要求 1、按照图示配置 IP 地址 2、R1&#xff0c;R2&#xff0c;R3 运行 OSPF 使内网互通&#xff0c;所有接口(公网接口除外)全部宣告进 Area 0; 要求使用环回口作为 Router-id 3、业务网段不允许出现协议报文 4、R5 模拟互联网&#xff0c;内网通过…

Andriod学习笔记(二)

页面设计的零碎知识 通用属性设置文本大小设置视图宽高设置视图的对齐方式 页面布局LinearLayoutRelativeLayoutGridLayoutScollView 按钮触控ButtonImageViewImageButton 通用属性 设置文本大小 纯数字的setTextSize方法&#xff0c;内部默认字体单位为sp&#xff0c;sp是An…

Git报错解决

本篇主要汇总在使用 Git 进行提交和拉取文件时&#xff0c;遇到的问题的解决方案&#xff0c;以便下次查找。 1 关于使用Git出现“git Failed to connect to 127.0.0.1 port xxxx: Connection refused”的问题解决方案 1. 问题描述 在使用 git 拉取、提交代码的时候&#xff…

Access,Trunk,Hybrid的一些接触知识以及实验

VLAN基本配置 一、实验目的 1.掌握VLAN基础配置原理&#xff1b; 2.掌握Access接口工作原理及配置&#xff1b; 3.掌握Trunk接口工作原理及配置&#xff1b; 4.掌握Hybrid接口工作原理及配置。 二、实验设备 1.电脑1台&#xff1b; 2.ENSP仿真软件。 三、实验内容及步骤 VLAN( …

Ps:选择主体

“主体”之所以成为主体&#xff0c;因为它是一张图片中最突出或者最应该被关注的区域。 选择主体 Select Subject是 Photoshop 2018 年 1 月版开始增加的命令。Adobe 持续改良此命令的算法&#xff0c;现在不仅具有内容识别功能&#xff0c;而且对毛发区域的处理方式也有大幅改…

周阳老师学习

分布式事务 2、3pc tcc 可靠消息最终一致性 最大努力通知 总结 1&#xff09;最大努力通知VS 可靠消息最终一致性 向上管理 态度 》 能力 沟通 》 抱怨 大局 》 细节 汇报进度 寻求知道 成长答疑 先完成后完美 分布式事务-独立消息服务MQ 追溯业务执行状态的接口…

解决谷歌学术bib信息不全的问题

在我们撰写学术论文时&#xff0c;经常需要引用参考文献。如果用latex撰写论文&#xff0c;势必会用到文献的bib信息&#xff0c;大部分的教程都会告诉我们去google scholar上去搜索。 一、问题描述 搜索一篇文章&#xff0c;然后选择cite&#xff0c;再选择bib。 很明显&…

最详细STM32,cubeMX串口发送,接收数据

这篇文章将详细介绍 串口 发送数据&#xff0c;接受数据。 文章目录 前言一、串口的基础知识二、cubeMX 配置三、自动生成代码解析四、串口发送数据函数五、使用串口收发数据点亮 led重定向函数&#xff1a; 总结 前言 实验开发板&#xff1a;STM32F103C8T6。所需软件&#xf…

c语言用json解析库(jansson)检测字符串是否是json格式的数据

C语言检测字符串是否是json格式的数据&#xff0c;可以用jansson库检测&#xff0c;也可以用cjson库来校验。但是若数据格式有问题&#xff0c;jansson可以指出哪里有错误&#xff0c;cjson无法指出。 下面就演示C语言如何使用jansson库检测字符串是否是json格式的数据。 1.下载…