增量差异
Sublime Text 包含一个内置的diff功能,该功能可跟踪对正在编辑的文件的更改。差异计算是递增的,在执行时跟踪每个缓冲区修改。它不需要将文件存储在版本控制系统(如Git)中。
跟踪每个添加,修改和删除的确切位置。这用于在装订线中显示标记,允许在每个更改之间导航,显示内联差异,并允许还原更改。
差异是根据磁盘上文件的版本计算得出的,但是可以将Git仓库配置为与HEAD进行差异比较,并且该API允许将文件与任何内容进行差异比较。
差异标记
以下是使用Mariana配色方案时显示的差异标记的示例:
2728添加了一行2930修改后的行31其次是另一条修改的行3233删除之前的那一行34
有关自定义差异标记的颜色和宽度的信息,请参见配色方案文档。
导航
用户可以使用以下方法跳转到下一个或上一个修改:
- Ctrl+。
- Ctrl+,
- 转到下一个修改
- 转到上一个修改
键盘快捷键往往是在编辑中的文件周围跳转的非常自然的方法。
内联差异
除了跟踪已修改的行之外,增量差异还跟踪确切的更改。这样可以显示文本的原始版本。
切换
在文件的修改区域上单击鼠标右键时,将显示一个菜单项Show Diff Hunk。该菜单项将在当前内容下方内联显示先前的内容。再次右键单击将显示一个菜单项“隐藏差异”,以隐藏嵌入式差异。
可以通过“编辑文本切换大块差异” 菜单来执行内联差异。
除了基于菜单的激活外,差异还可通过键盘快捷键进行切换:
- Windows / Linux:Ctrl+K,Ctrl+/
- Mac:⌘+K,⌘+/
要隐藏某个区域的差异,同时隐藏所有其他差异,请按:
- Windows / Linux:Ctrl+K,Ctrl+;
- Mac:⌘+K,⌘+;
造型
对于未创建自己规则的配色方案,将自动生成用于显示内联差异的样式。对于自定义样式,请使用以下选择器添加规则:
diff.deleted
diff.deleted.char
diff.inserted
diff.inserted.char
通常,每个规则都会设置background
和foreground_adjust
属性。
正在还原
修改可以通过键盘快捷键恢复为原始文本:
- Windows / Linux:Ctrl+K,Ctrl+Z
- Mac:⌘+K,⌘+Z
或者,可以使用菜单“编辑文本还原修改”。
设定值
可以通过mini_diff设置控制增量diff功能。有效值包括:
true
–始终启用增量差异(DEFAULT)"auto"
–为Git储存库中的文件启用增量差异false
–禁用增量差异
可以通过git_diff_target设置控制Git仓库中文件的增量diff行为。有效值包括:
"index"
–对比Git索引,默认"head"
–与HEAD上的文件进行比较