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 选项表示只显示差异,而不显示具体的差异内容。

使用示例:
Linux笔记之diff和vimdiff_第1张图片

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

Linux笔记之diff和vimdiff_第2张图片

Linux笔记之diff和vimdiff_第3张图片
Linux笔记之diff和vimdiff_第4张图片
Linux笔记之diff和vimdiff_第5张图片
Linux笔记之diff和vimdiff_第6张图片
Linux笔记之diff和vimdiff_第7张图片
Linux笔记之diff和vimdiff_第8张图片
Linux笔记之diff和vimdiff_第9张图片
Linux笔记之diff和vimdiff_第10张图片

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

Linux笔记之diff和vimdiff_第11张图片

二.vimdiff

2.1.vimdiff颜色差异

Linux笔记之diff和vimdiff_第12张图片

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

Linux笔记之diff和vimdiff_第13张图片

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

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

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

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

    :qa
    

    这将执行以下操作:

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

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

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

你可能感兴趣的:(Linux笔记,linux,笔记,运维)