Sublime Text中文文档之  增量差异  

Sublime Text 包含一个内置的diff功能,该功能可跟踪对正在编辑的文件的更改。差异计算是递增的,在执行时跟踪每个缓冲区修改。它不需要将文件存储在版本控制系统(如Git)中。

跟踪每个添加,修改和删除的确切位置。这用于在装订线中显示标记,允许在每个更改之间导航,显示内联差异,并允许还原更改。

差异是根据磁盘上文件的版本计算得出的,但是可以将Git仓库配置为与HEAD进行差异比较,并且该API允许将文件与任何内容进行差异比较。

差异标记

以下是使用Mariana配色方案时显示的差异标记的示例:

27
28 添加了一行
29
30 修改后的行
31 其次是另一条修改的行
32
33 删除之前的那一行
34

有关自定义差异标记的颜色和宽度的信息,请参见配色方案文档

用户可以使用以下方法跳转到下一个或上一个修改:

  • Ctrl +
  • Ctrl +
  • 转到▶下一个修改
  • 转到▶上一个修改

键盘快捷键往往是在编辑中的文件周围跳转的非常自然的方法。

内联差异

除了跟踪已修改的行之外,增量差异还跟踪确切的更改。这样可以显示文本的原始版本。

切换

在文件的修改区域上单击鼠标右键时,将显示一个菜单项Show Diff Hunk。该菜单项将在当前内容下方内联显示先前的内容。再次右键单击将显示一个菜单项“ 隐藏差异”,以隐藏嵌入式差异。

可以通过“ 编辑▶文本▶切换大块差异” 菜单来执行内联差异。

除了基于菜单的激活外,差异还可通过键盘快捷键进行切换:

  • Windows / Linux:Ctrl + KCtrl + /
  • Mac:+ K+ /

要隐藏某个区域的差异,同时隐藏所有其他差异,请按:

  • Windows / Linux:Ctrl + KCtrl + ;
  • Mac:+ K+

造型

对于未创建自己规则的配色方案,将自动生成用于显示内联差异的样式。对于自定义样式,请使用以下选择器添加规则:

  • diff.deleted
  • diff.deleted.char
  • diff.inserted
  • diff.inserted.char

通常,每个规则都会设置backgroundforeground_adjust属性。

正在还原

修改可以通过键盘快捷键恢复为原始文本:

  • Windows / Linux:Ctrl + KCtrl + Z
  • Mac:+ K+ Z

或者,可以使用菜单“ 编辑▶文本▶还原修改”

设定值

可以通过mini_diff设置控制增量diff功能。有效值包括:

  • true –始终启用增量差异(DEFAULT)
  • "auto" –为Git储存库中的文件启用增量差异
  • false –禁用增量差异

可以通过git_diff_target设置控制Git仓库中文件的增量diff行为。有效值包括:

  • "index" –对比Git索引,默认
  • "head" –与HEAD上的文件进行比较