当前位置: 首页 > news >正文

Linux笔记之diff和vimdiff

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 &diffcolorscheme evening
endif

在这里插入图片描述

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

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

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

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

    :qa
    

    这将执行以下操作:

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

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

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

相关文章:

Linux笔记之diff和vimdiff

Linux笔记之diff和vimdiff code review! 文章目录 Linux笔记之diff和vimdiff一.diff1.1.使用diff比较文件夹1.2.使用diff比较文件1.4.colordiff——带颜色输出差异 二.vimdiff2.1.vimdiff颜色差异2.2.vimfiff调整栏宽2.3.修改颜色变谈&#xff0c;使代码可以看清楚2.4.vimdif…...

目标检测YOLO实战应用案例100讲-基于改进的YOLOV5算法的垃圾分类模型

目录 前言 国内外研究现状 目标检测算法发展现状 YOLO算法的发展现状...

我做不到受每个人喜欢

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

Linux笔记之diff工具软件P4merge的使用

Linux笔记之diff工具软件P4merge的使用 code review! 文章目录 Linux笔记之diff工具软件P4merge的使用1.安装和配置2.使用&#xff1a;p4merge a.cc b.cc3.配置git 参考博文: Ubuntu Git可视化比较工具 P4Merge 的安装/配置及使用 1.安装和配置 $ wget https://cdist2.per…...

使用 OpenSSL 扩展来实现公钥和私钥加密

首先&#xff0c;你需要生成一对公钥和私钥。可以使用 OpenSSL 工具来生成&#xff1a; 1、生成私钥 openssl genpkey -algorithm RSA -out private_key.pem 2、从私钥生成公钥&#xff1a; openssl rsa -pubout -in private_key.pem -out public_key.pem现在你有了一个私钥…...

二、安全与风险管理—安全与风险管理基础

目录 目录 1.什么是信息与信息的生命周期 2.信息安全的基本目标 3.风险管理与控制类型...

rust学习——栈、堆、所有权

文章目录 栈、堆、所有权栈(Stack)与堆(Heap)栈堆性能区别所有权与堆栈 所有权原则变量作用域所有权与函数返回值与作用域 栈、堆、所有权 栈(Stack)与堆(Heap) 栈和堆是编程语言最核心的数据结构&#xff0c;但是在很多语言中&#xff0c;你并不需要深入了解栈与堆。 但对于…...

如何从小白成长为AI工程师笔记

&#x1f4da;入门机器学习基础 对于本科生来说&#xff0c;需要打好数学基础&#xff0c;包括高数、概率论和线性代数。 对于已经上研究生或工作想转行的人来说&#xff0c;可以直接开始学习机器学习算法&#xff0c;重要的是理解算法的原理和推导过程。如果有时间和需要&am…...

fail-fast 和 fail-safe 迭代器

fail-fast 和 fail-safe 迭代器是两种不同的迭代器设计策略&#xff0c;用于在遍历集合&#xff08;如 ArrayList、HashMap&#xff09;时处理并发修改的情况。它们的行为和应对策略有所不同&#xff1a; Fail-Fast 迭代器&#xff1a; Fail-Fast 迭代器在遍历集合期间&#x…...

Nvidia显卡基础概念介绍

一、PCIe与SXM 1.1 Nvidia GPU PCIe PCIe(peripheral component interconnect express)是一种高速串行计算机扩展总线标准&#xff0c;是英特尔公司在2001年提出来的&#xff0c;它的出现主要是为了取代AGP接口&#xff0c;优点就是兼容性比较好&#xff0c;数据传输速率高、…...

使用screen实现服务器代码一直运行

1.安装screen sudo apt install screen 2.创建一个screen&#xff08;创建一个名为chatglm的新的链接&#xff0c;用来一直运行 screen -S chatglm 3.查看进程列表 screen -ls 创建之后&#xff0c;就可以在当前窗口利用cd命令进入要执行的项目中&#xff0c;开始执行&#xf…...

Linux系统自有服务

一、Linux中防火墙firewalld 1、什么是防火墙 防火墙&#xff1a;防范一些网络攻击。有软件防火墙、硬件防火墙之分。 防火墙选择让正常请求通过&#xff0c;从而保证网络安全性。 Windows防火墙&#xff1a; Windows防火墙的划分与开启、关闭操作&#xff1a; 2、防火墙的作…...

Andriod学习笔记(二)

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

【超级基础版】十进制与二进制的转换

目录 一、为什么是二进制&#xff1f; 二、二进制的加法和乘法 三、二进制向十进制转换 四、十进制整数向二进制转换 五、十进制小数向二进制小数的转换 六、八进制和十六进制的引入 一、为什么是二进制&#xff1f; 我们知道电脑的数据本质上是0和1&#xff0c;就是我们…...

爬虫学习日记第八篇(爬取fofa某端口的协议排行及其机器数目,统计top200协议)

需求 找到最常用的200个协议 通过fofa搜索端口&#xff0c;得到协议排名前五名和对应机器的数目。 遍历端口&#xff0c;统计各个协议对应的机器数目&#xff08;不准&#xff0c;但能看出个大概&#xff09; 读写API API需要会员&#xff0c;一天只能访问1000次。 import…...

LeetCode 1425. 带限制的子序列和【动态规划,单调队列优化】2032

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

强化学习问题(7)--- Python和Pytorch,Tensorflow的版本对应

1.问题 之前下载的python3.8&#xff0c;在对应Pytorch和Tensorflow时没太在意版本&#xff0c;在运行一些代码时&#xff0c;提示Pytorch和Tensorflow版本过高&#xff0c;直接降下来&#xff0c;有时候又和Python3.8不兼容&#xff0c;所以又在虚拟环境搞一个Pyhon3.7&#x…...

Python —— UI自动化之使用JavaScript进行元素点亮、修改、点击元素

1、JavaScript点亮元素 在控制台通过JavaScript语言中对元素点亮效果如下&#xff1a; 将这个语句和UI自动化结合&#xff0c;代码如下&#xff1a; locator (By.ID,"kw") # 是元组类型 web_element WebDriverWait(driver,5,0.5).until(EC.visibility_of_eleme…...

input表单的23个type属性

在HTML中&#xff0c;<input>标签用于创建输入框。type属性用于指定输入框的类型。以下是23个可能的type属性及其用途&#xff1a; text&#xff1a;普通文本输入框。password&#xff1a;密码输入框&#xff0c;输入的内容会显示为圆点或星号。email&#xff1a;电子邮…...

优先级总结

目录 越小越优先 1.路由协议 2.路由开销 3.STP 4.Ethernet-trunk&#xff08;LACP&#xff09; 越大越优先 1.VRRP 2.Router-id 3.DR/BDR 越小越优先 1.路由协议 取值范围&#xff1a;0~255 直连路由0 静态路由/默认路由60 RIP路由100 OSPF路由10或150 BGP路由255 2…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...