• Linux笔记之diff和vimdiff


    Linux笔记之diff和vimdiff

    code review!

    一.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
    
    • 1
    • 2
    • 3

    在这里插入图片描述

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

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

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

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

      :qa
      
      • 1

      这将执行以下操作:

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

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

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

  • 相关阅读:
    顺序表详解
    LLM-Embedder
    530. 二叉搜索树的最小绝对差
    21. 合并两个有序链表 ●
    Flutter的Constructors for public widgets should have a named ‘key‘ parameter警告
    沉睡者 - 网上赚钱:网赚经验分享
    支持CAN FD的Kvaser PCIEcan 4xCAN v2编码: 73-30130-01414-5如何应用?
    Lumiprobe细胞生物学丨DiA,亲脂性示踪剂说明书
    UGUI图集的理解与使用
    uniapp之uni-forms表单组件封装的双向数据绑定
  • 原文地址:https://blog.csdn.net/weixin_43297891/article/details/133978390