RibbonDiff — 用户指南

RibbonDiff macOS 应用的分步帮助。

👑 表示 Pro 功能(可通过 Pro Trial 或 Pro Lifetime 使用)。点击皇冠可查看更多信息。

RibbonDiff 是一款适用于 macOS 的左右可编辑 Diff 工具。当前应用包含 Pro 专属的 Workspace、Workspace 文件搜索和 Version History 工作流,因此你可以在共享侧边栏中保留、搜索和整理项目,在相关比较之间切换而无需重建上下文,并直接在应用内审阅 Git 支持的历史快照。编辑器仍支持实时 Diff、每窗格 Find、语法高亮、可调文字设置,以及滚动时连接对应变更块的熟悉中央 Ribbon。

目录

1. 快速开始

  1. 从文本、文件或 Workspace 开始

    • 粘贴文本: Text 1 (左 / Original)和 Text 2 (右 / Modified),
    • 从 Finder、拖放、菜单栏或 Terminal 将文件打开到左右窗格 👑
    • 打开文件夹或现有的.rd-workspace文档到 Workspace 侧边栏,并在同一项目上下文中比较相关文件 👑
    • 打开 Workspace(Open Workspace…)⇧⌘O)从 File 菜单中选择,可打开 Workspace 文档选择器,并将其显示在新的独立窗口中。要将 Workspace 关联到当前窗口,请使用侧边栏中的打开文件夹或 Workspace 文件(Open Folder or Workspace File)操作 👑
  2. 使用 Workspace 进行项目审阅 👑

    • 在 Workspace 侧边栏中选择文件,并将其直接打开到比较的 侧。
    • Option-click 可在同一窗口的另一个标签页中打开侧边栏中的文件。
    • 使用 Find in Workspace…⇧⌘F)在打开的 Workspace 中搜索文本,直接跳转到匹配行,或 Option-click 结果在另一个标签页中打开。
    • 使用侧边栏操作菜单或文件夹上下文菜单添加文件和文件夹,然后完成内联重命名。
    • 使用 Command-clickShift-click 选择多个 Workspace 项目,以便拖动移动或确认后移到废纸篓。
    • 单击已打开的文件时,会直接切换到现有标签页。
  3. 自由编辑,或查看历史

    • 实时窗格可编辑。从 Version History 打开的历史预览 👑只读
    • 两侧都有内容时,会显示 Diff 高亮,并根据输入、粘贴、打开文件或切换历史快照自动更新。
    • 比较首次可用且存在差异时,RibbonDiff 会自动移动到第一个更改块。
  4. 导航、审阅和保存

    • 使用中央 Ribbon 和 下一个更改(Next Change) / 上一个更改(Previous Change) 控件,在大型 Diff 中快速移动。
    • 准备好后保存活动窗格。保存 Workspace 文档后,稍后可以恢复相同的项目树和展开状态 👑
    • 如果已打开文件在磁盘上发生变化,RibbonDiff 会自动重新加载,或在替换未保存的应用内编辑前询问确认。

2. 界面概览

上面的截图展示了核心比较布局。启用相关工作流时,同一窗口也可以显示 Pro 专属 Workspace 侧边栏、Workspace 文件搜索和 Version History 控件。

工具栏(顶部控制行)

顶部控制行是用于窗口级操作的轻量工具栏。隐藏工具栏(View → Hide Toolbar) / 显示工具栏(View → Show Toolbar),或按⌥⌘T,即可隐藏/显示这一行。RibbonDiff 会在下次启动后保留此显示设置。

窗口操作

窗口显示控件

Workspace 侧边栏

更改导航

窗格标题(每一侧)

每个窗格都有一个标题行,包含以下元素:

Version History 控件

窗口/标签页标题: 如果任一窗格是从文件打开的,macOS 窗口名和标签页名会跟随该文件名。如果两个窗格都关联到文件,则优先使用左侧文件名。如果两个窗格都未关联到文件,标题会恢复为RibbonDiff。在基于 Workspace 的会话中,标题会随着文件和标签页切换更自然地变化。当文件提供标题时,macOS 也会在标题栏中显示标准代理图标和路径菜单。

编辑器 + Ribbon

3. 文本比较(Diff 的显示方式)

RibbonDiff 使用可配置的颜色高亮更改:

Diff 高亮(行背景色、更改标记、中央 Ribbon)会在两侧窗格都有内容时显示。清空或解除任一窗格关联后,Diff 会隐藏,直到两侧再次都有文本。当比较首次可用时(例如打开文件后、选择 Workspace 文件后、在第二个窗格粘贴内容后),如果存在差异,RibbonDiff 会自动滚动到第一个更改块。

将当前内容与 Version History 比较时,RibbonDiff 会保持当前文件和历史预览的对应关系,使添加/删除高亮保持自然可读。

在大型 Diff 中,可以直接在更改块之间移动,无需手动滚动。

使用方法

哪些内容会被视为“更改”

备注

4. Workspace 👑

WorkspacePro(Pro Trial 或 Pro Lifetime)中可用。它为 RibbonDiff 添加项目级侧边栏,让你无需为每个 Diff 重新建立上下文,就能浏览并比较文件。

Workspace 可以做什么

打开 Workspace 来源

浏览和打开文件

搜索 Workspace 文件

从侧边栏管理文件和文件夹

选择和移动 Workspace 项目

Workspace 文档

侧边栏显示和 Git 支持提示

备注: Workspace 可以保存为Pro功能。Limited模式下,RibbonDiff 会显示 Pro 提示,而不是打开侧边栏。访问级别

5. Version History 👑

Version HistoryPro 专用的 Workspace 功能Git 管理的 Workspace内的文件,可以直接在 RibbonDiff 中浏览分支和修订,并将当前文件与只读历史快照比较。

可以做什么

常见流程

  1. 从 Git 管理的 Workspace 中打开文件。
  2. 根据需要选择分支。
  3. 从版本选择器中选择历史修订。
  4. 借助 Diff 颜色和 Ribbon,将只读快照与当前文件比较,查看发生了什么变化。

备注

6. 打开文件和文件夹 👑

本节中的所有打开操作都需要Pro(Pro Trial 或 Pro Lifetime)。这包括拖放、打开(File → Open…)、从 Finder 打开、从 Terminal/CLI 打开,以及打开 Workspace。Limited模式下,RibbonDiff 支持比较输入或粘贴的文本;尝试这些工作流时会显示 Pro 提示。

拖放(Finder → 窗格)

覆盖保护:RibbonDiff 会避免意外覆盖文本。

从菜单打开(⌘O)

打开 Workspace 👑

从 Finder 打开(双击 / “Open With…”)

从 Terminal 打开(CLI)

可以使用 macOS 标准的open命令从命令行打开文件:

open -a RibbonDiff /path/to/old.txt /path/to/new.txt

如果文件路径包含空格,请用引号括起来:

open -a "RibbonDiff" "Old File.txt" "New File.txt"

标签页/窗口行为(覆盖保护)

高级:重用模式(CLI 包装器)

某些 CLI 包装器可以在打开文件时请求不同的重用策略。RibbonDiff 会从同一打开请求中包含的任何control file读取此策略。

备注: ReuseForce Reuse时,在打开 3 个或更多文件(多对文件)时,同一标签页可能会被反复重用。在这种情况下,最后一对会优先。如果希望每一对分别在新的标签页/窗口中打开,请使用Automatic

Control file 要求

示例(创建 control file 后打开两个文件):

echo '{"mode":"reuse","version":1}' > /tmp/.ribbondiff-cli--control.json
open -a RibbonDiff /tmp/.ribbondiff-cli--control.json old.txt new.txt

7. 保存文件和 Workspace 👑

保存文件和 Workspace 文档需要Pro(Pro Trial 或 Pro Lifetime)。RibbonDiff 会按每个窗格(活动窗格)保存。Version History 的历史预览是只读。请改为保存实时文件。

Save (⌘S)

Save As (⇧⌘S)

保存 Workspace

换行符和编码

RibbonDiff 关注的是文本内容的 Diff,而不是文件保存格式的细节。换行符和字符编码会在内部规范化,因此两个使用不同换行样式或不同 Unicode 编码的文件也可能被视为相同。

换行符

文本编码

支持的编码

每个窗格的Encoding徽标菜单会显示以下选项:

类别 编码
Unicode UTF-8, UTF-8 (with BOM), UTF-16, UTF-16 Little Endian, UTF-16 Big Endian, UTF-32, UTF-32 Little Endian, UTF-32 Big Endian
日本語 Shift_JIS, EUC-JP, ISO-2022-JP, x-mac-japanese
中文 GB18030, GBK, GB2312, HZ-GB-2312, Big5, Big5-HKSCS
韩文 EUC-KR, CP949
西欧 Windows-1252, MacRoman, Windows-1250 (Central European), Windows-1251 (Cyrillic), Windows-1253 (Greek), Windows-1254 (Turkish), Windows-1257 (Baltic), ISO-8859-1 (Latin-1), US-ASCII
中东 Windows-1255 (Hebrew), Windows-1256 (Arabic)
东南亚 Windows-874 (Thai), Windows-1258 (Vietnamese)

提示:如果比较的是剪贴板文本而不是文件,则保存时窗格默认值通常为LF + UTF-8

8. 当磁盘上的文件发生变化时

RibbonDiff 会安全处理外部更改的文件。

9. 处理未保存更改

RibbonDiff 会按窗格分别跟踪未保存编辑。

备注: 关闭确认有意采用“无保存”方式。请先用⌘S⇧⌘S保存需要保留的窗格 👑

10. 每个窗格的搜索

RibbonDiff 使用标题行中的每窗格 Find 字段,同时也支持活动窗格的标准 macOS Find 快捷键。

基本操作

  1. 单击编辑器内部,使该窗格成为活动窗格。
  2. ⌘F后,标题行中该窗格的Find字段会获得焦点。如果编辑器标题栏被隐藏,RibbonDiff 会先显示它。如果编辑器中已有选中文本,RibbonDiff 会将该选择作为搜索词。否则,如果该窗格的 Find 字段为空,它可以使用标准 macOS 共享 Find 字符串预填。
  3. 输入搜索词。输入时会高亮不区分大小写的匹配项。
  4. 要移动到下一个匹配项,请按Return⌘G;要移动到上一个匹配项,请按⇧Return⇧⌘G。到达窗格末尾或开头时,Find 导航会循环。

键盘快捷键

备注

Find in Workspace 👑

打开 Workspace 后,选择 Find → Find in Workspace… 或按 ⇧⌘F,即可搜索该 Workspace 中可读取的文本文件。结果会显示在 Workspace 侧边栏中,并按文件分组,Git 修改文件会以 M 标记。点击匹配行会在左侧编辑器中打开文件,并将焦点保持在该匹配项上;Option-click 会在另一个标签页中打开结果。

11. 语法高亮

RibbonDiff 内置语法高亮和自动语言检测。

自动与手动

支持的语言(徽标)

Markdown 围栏代码块

在 Settings 中,可以选择是否将 Markdown 围栏代码块(``` / ~~~)根据围栏后的语言标签(例如: ```swift)进行高亮。

12. 工具栏、标题栏、标签栏、自动换行和 Ribbon 宽度

工具栏显示

编辑器标题栏显示

标签栏显示

自动换行

重要: Wrap 不是全局设置,而是按窗口设置。Settings 只设置新打开编辑器窗口的默认值

Whitespace 过滤器

行号

行号可针对以下每个窗格单独启用/禁用:

这可以在 Settings 中更改。

Ribbon 列宽

字体、字号和行距

RibbonDiff 可以调整编辑器文字显示,使长篇比较更易阅读。

编辑行为

13. 设置(Preferences)和主题

从应用菜单打开 Settings:

General(一般)

Appearance(外观)

Appearance 窗格顶部还会显示当前主题(Current Theme)行。点击即可直接前往 Theme 窗格。如果当前实时设置与所选主题不一致,该行可能显示更改徽标。

System 背景会自动跟随 macOS 的 Light/Dark Mode。

Syntax(语法)

Syntax 窗格顶部也会显示当前主题,因此编辑颜色时可以跳转到 Theme 窗格。

更改会自动保存。

Theme(主题)

RibbonDiff 支持以下内容:

首次启动时,RibbonDiff 默认选择内置Vivid主题。重置为默认值(Reset to Defaults)中也会回到Vivid

主题列表提示:

主题操作和上下文菜单命令包括:

如果当前主题有未保存更改而你切换到其他主题,RibbonDiff 会先进行确认。

Licenses(许可证)

Pro

如果你以前在 RibbonDiff 还是付费 App Store 下载时购买过,使用同一 Apple ID 时会自动解锁 Pro Lifetime。如果没有解锁,请打开RibbonDiff → Settings… → Pro并打开恢复购买(Restore Purchases)

14. 主题导入/导出(高级)

主题可以作为JSON导入/导出。

导入主题

  1. Settings → Theme
  2. 导入主题(Import Theme…)
  3. 选择主题的.json文件。

导入的主题会添加到User Themes并应用。

导出主题

  1. Settings → Theme
  2. 导出主题(Export Theme…)
  3. 输入主题名称(在 JSON 中保存为Name
  4. 选择保存位置。

Export 按钮会将当前主题设置保存为 JSON 文件。

导出的 JSON 包含:

15. 键盘快捷键列表

打开 RibbonDiff 帮助(Help → RibbonDiff Help)⌘?)会打开内置快捷键速查窗口。Window、Files、Find、View & Navigate、Editor(窗口、文件、查找、视图与导航、编辑器)的常用快捷键会集中显示在一处。

操作 快捷键 备注
新建窗口(New Window) ⌘N File 菜单。打开一个不带 Workspace 侧边栏的新独立比较窗口
带侧边栏的新建窗口(New Window with Sidebar) ⇧⌘N File 菜单。打开一个带 Workspace 侧边栏的新独立比较窗口
新建标签页(New Tab) ⌘T 创建新的标签页比较窗口
打开(Open…) 👑 ⌘O 打开到活动窗格。Pro 专用
打开 Workspace(Open Workspace…) 👑 ⇧⌘O 文件夹或.rd-workspace文档的 Workspace 文档选择器,并在新窗口中打开。Pro 专用
保存(Save) 👑 ⌘S 保存活动窗格
另存为(Save As…) 👑 ⇧⌘S 将活动窗格保存为新文件
保存 Workspace / Workspace 另存为(Save Workspace / Save Workspace As…) 👑 ⇧⌥⌘S File 菜单。保存关联到文件夹的 Workspace。如果已经打开.rd-workspace文档,则会创建另一个.rd-workspace文档
关闭窗口/标签页(Close Window/Tab) ⌘W 有未保存更改时会确认
RibbonDiff 帮助(RibbonDiff Help) ⌘? Help 菜单。打开快捷键速查窗口
增大文字大小(Increase Text Size) ⌘= 增大两个窗格共用的编辑器字号(在许多键盘上与⌘+位于同一键)
减小文字大小(Decrease Text Size) ⌘- 减小两个窗格共用的编辑器字号
重置文字大小(Reset Text Size) ⌘0 重置两个窗格共用的编辑器字号
查找(Find…) ⌘F 聚焦活动窗格的 Find 字段
查找下一个(Find Next) ⌘G 活动窗格
查找上一个(Find Previous) ⇧⌘G 活动窗格
使用所选内容进行查找(Use Selection for Find) ⌘E 将活动编辑器中选中的文本复制到活动窗格的 Find 字段
Find in Workspace… 👑 ⇧⌘F Find 菜单;打开 Workspace 文件搜索并聚焦搜索字段
缩进(Indent) Tab 缩进当前行或所选行。没有行选择时,会插入一级缩进
减少缩进(Outdent) Shift-Tab 减少当前行或所选行的缩进
缩进所选范围(Indent Selection) ⌘] 缩进当前行或所选行
减少所选范围缩进(Outdent Selection) ⌘[ 减少当前行或所选行的缩进
上一个更改(Previous Change) ⌥⌘↑ 移到上一个更改块(活动窗格)
下一个更改(Next Change) ⌥⌘↓ 移到下一个更改块(活动窗格)
显示/隐藏工具栏(Show/Hide Toolbar) ⌥⌘T View 菜单。切换顶部控制行(WrapWhitespaceSwapClear),并在下次启动后保留设置
显示/隐藏编辑器标题栏(Show/Hide Editor Title Bar) ⌃⌘T View 菜单。切换包含标题、Find、徽标、重新加载和清除操作的窗格标题行
显示/隐藏标签栏(Show/Hide Tab Bar) ⇧⌘T File 菜单。切换 macOS 标准标签栏。快捷键不一定总显示在菜单项旁边,但可以使用。
Show File Tree 👑 ⌘1 View 菜单;将 Workspace 侧边栏切换到文件树
Show File Search 👑 ⌘2 View 菜单;将 Workspace 侧边栏切换到文件搜索
切换自动换行(Toggle Wrap) ⌃⌘W View 菜单。按窗口设置
切换 Whitespace 过滤器(Toggle Whitespace Filters) ⌃⌘I View 菜单。一次性开启/关闭忽略缩进样式(Ignore indentation style)、忽略行首空白(Ignore leading whitespace)和忽略行尾空白(Ignore trailing whitespace)
交换窗格(Swap Panes) ⌃⌘S View 菜单。交换两个窗格以及各自的文件关联
清空两个窗格(Clear Both Panes) ⌃⌘K Edit 菜单。清空两个窗格

提示:在编辑器中按Return时,会自动继承当前行的缩进。打开 Workspace(Open Workspace…)⇧⌘O)会在新窗口中打开 Workspace。若要将 Workspace 关联到当前窗口,请改用侧边栏按钮或拖放目标。

16. 故障排除

“无法打开文件”

常见原因:

解决方法:

Workspace 按钮保持折叠,或显示升级提示

Workspace 文件搜索没有结果

无法使用 Version History

磁盘上的文件发生了变化

从 Finder/Terminal 打开时创建了新标签页

从 Finder(双击 / Open With…)或 Terminal(open -a RibbonDiff …)打开文件时,RibbonDiff 会保护当前比较。

Workspace 文件管理没有完成

Open Workspace… 打开了新窗口

文本显示为乱码(编码不匹配)

如果文件以不可读字符(乱码)打开,可能是用错误编码解码了。

Find 字段或窗格徽标消失了

编辑器标题栏可能已隐藏。

Wrap / Whitespace / Swap / Clear 消失了

顶部工具栏行可能已隐藏。

⇧⌘T 可用,但 File 菜单中不显示快捷键

“Theme Import Failed”(主题导入失败)

语法高亮看起来无效

为保持编辑响应,RibbonDiff 可能会在非常大的文本中省略语法高亮。

17. 访问级别(Limited 和 Pro)

RibbonDiff 可免费下载,并可在 Limited 模式下用于比较输入或粘贴的文本。打开或保存文件、使用 Workspace 和 Workspace 文件搜索,以及使用 Version History 都是 Pro 工作流。由于 Version History 只能在 Workspace 内使用,因此它也是 Pro 专属。

功能 Limited(免费) 7 天 Pro Trial(Pro Trial (7 days)) Pro Lifetime
比较输入/粘贴的文本
将窗格内容保存到磁盘(⌘S / ⇧⌘S
恢复购买
打开文件(File → Open…、拖放、Finder、Terminal)
Workspace 侧边栏和文件搜索;打开/保存 Workspace 文档
关联到 Git 的 Workspace 文件的 Version History

在 Limited 模式下:如果你尝试打开或保存文件、打开或保存 Workspace、使用 Workspace 文件搜索或使用 Version History,RibbonDiff 会显示 Pro 提示。

7 天 Pro Trial: 开始 7 天 Pro Trial(Start 7-Day Pro Trial)即可开始 Trial,期限为 7 天。不会自动续费。结束后,如果尚未解锁 Pro Lifetime,RibbonDiff 会回到 Limited 模式。

开始 Pro Trial

  1. RibbonDiff → Settings…,打开Pro
  2. 开始 7 天 Pro Trial(Start 7-Day Pro Trial)

解锁 Pro Lifetime

RibbonDiff → Settings… → Pro,打开解锁 Pro Lifetime(Unlock Pro Lifetime)。这是关联到 Apple ID 的一次性购买。

恢复购买

如果以前购买过 Pro Lifetime(或在 RibbonDiff 还是付费 App Store 应用时购买过),请通过Settings → Pro → 恢复购买(Restore Purchases)恢复访问权限。请确认你已使用原购买所用的同一 Apple ID 登录。

旧付费版用户

如果你在 RibbonDiff 还是付费 App Store 下载时购买过,使用同一 Apple ID 时,应用会自动转换为Pro Lifetime。如果没有立即显示为已解锁,请使用恢复购买(Restore Purchases)