RibbonDiff 是一款适用于 macOS 的左右可编辑 Diff 工具。当前应用包含 Pro 专属的 Workspace、Workspace 文件搜索和 Version History 工作流,因此你可以在共享侧边栏中保留、搜索和整理项目,在相关比较之间切换而无需重建上下文,并直接在应用内审阅 Git 支持的历史快照。编辑器仍支持实时 Diff、每窗格 Find、语法高亮、可调文字设置,以及滚动时连接对应变更块的熟悉中央 Ribbon。
目录
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)操作 👑。
-
使用 Workspace 进行项目审阅 👑
- 在 Workspace 侧边栏中选择文件,并将其直接打开到比较的 左 侧。
- Option-click 可在同一窗口的另一个标签页中打开侧边栏中的文件。
- 使用 Find in Workspace…(
⇧⌘F)在打开的 Workspace 中搜索文本,直接跳转到匹配行,或 Option-click 结果在另一个标签页中打开。 - 使用侧边栏操作菜单或文件夹上下文菜单添加文件和文件夹,然后完成内联重命名。
- 使用 Command-click 或 Shift-click 选择多个 Workspace 项目,以便拖动移动或确认后移到废纸篓。
- 单击已打开的文件时,会直接切换到现有标签页。
-
自由编辑,或查看历史
- 实时窗格可编辑。从 Version History 打开的历史预览 👑 是只读。
- 两侧都有内容时,会显示 Diff 高亮,并根据输入、粘贴、打开文件或切换历史快照自动更新。
- 比较首次可用且存在差异时,RibbonDiff 会自动移动到第一个更改块。
-
导航、审阅和保存
- 使用中央 Ribbon 和 下一个更改(Next Change) / 上一个更改(Previous Change) 控件,在大型 Diff 中快速移动。
- 准备好后保存活动窗格。保存 Workspace 文档后,稍后可以恢复相同的项目树和展开状态 👑。
- 如果已打开文件在磁盘上发生变化,RibbonDiff 会自动重新加载,或在替换未保存的应用内编辑前询问确认。
2. 界面概览
上面的截图展示了核心比较布局。启用相关工作流时,同一窗口也可以显示 Pro 专属 Workspace 侧边栏、Workspace 文件搜索和 Version History 控件。
工具栏(顶部控制行)
顶部控制行是用于窗口级操作的轻量工具栏。隐藏工具栏(View → Hide Toolbar) / 显示工具栏(View → Show Toolbar),或按⌥⌘T,即可隐藏/显示这一行。RibbonDiff 会在下次启动后保留此显示设置。
-
Wrap:切换此窗口的自动换行。自动换行(View → Word Wrap)中也可以使用。
快捷键:⌃⌘W -
Whitespace:为当前比较切换已保存的空白过滤器。此开关会将忽略缩进样式(Ignore indentation style)、忽略行首空白(Ignore leading whitespace)、忽略行尾空白(Ignore trailing whitespace)一起开启或关闭。空白过滤器(View → Whitespace Filters)中也可以使用。
快捷键:⌃⌘I -
Swap:交换左右文本(以及每个窗格的文件关联)。交换窗格(View → Swap Panes)中也可以使用。
快捷键:⌃⌘S -
Clear:清空两个窗格。如果任一窗格有未保存编辑,垃圾桶图标会变为橙色以示提醒。Edit → Clear中也可以使用。
快捷键:⌃⌘K
窗口操作
- 新的独立窗口: 新建窗口(File → New Window)(
⌘N)会打开一个不带 Workspace 侧边栏的新比较窗口;带侧边栏的新建窗口(File → New Window with Sidebar)(⇧⌘N)会打开一个带侧边栏的窗口。 - 新标签页:
⌘T,即可在当前窗口组中打开另一个标签页。
窗口显示控件
- 编辑器标题栏:每个窗格的标题行,包含标题区域、Find 字段、徽标、重新加载控件、预览锁和清除控件。隐藏编辑器标题栏(View → Hide Editor Title Bar) / 显示编辑器标题栏(View → Show Editor Title Bar),或按
⌃⌘T。RibbonDiff 会在下次启动后保留此设置。 - 标题栏隐藏时的 Find:
⌘F后,编辑器标题栏会自动重新显示,并聚焦到活动窗格的 Find 字段。 - 原生标签栏: 隐藏标签栏(File → Hide Tab Bar) / 显示标签栏(File → Show Tab Bar),或按
⇧⌘T,即可切换 macOS 标签栏。在某些 macOS 版本中,此快捷键可能不会显示在 File 菜单命令旁边,但快捷键本身仍可使用。RibbonDiff 会在下次启动后保留此设置。
Workspace 侧边栏
- Workspace 树 👑:一个由窗口内所有标签页共享的专用侧边栏,用于浏览文件夹或
.rd-workspace文档。 - Workspace 文件搜索 👑:按
⇧⌘F在打开的 Workspace 中搜索文本,结果会按文件分组,并以 M 标记 Git 修改文件。 - File Tree / File Search 切换:使用 View → Show File Tree(
⌘1)和 View → Show File Search(⌘2)切换 Workspace 侧边栏模式。 - Workspace 操作:侧边栏标题菜单可以在 Workspace 根目录添加文件或文件夹,并可在 Finder 中显示 Workspace 文件夹。
- 上下文菜单:右键点按文件夹可添加文件或文件夹、删除项目、在 Finder 中显示或复制路径;右键点按文件可在新标签页中打开、删除、在 Finder 中显示或复制路径。
- 多选:Command-click 可切换选择项目,Shift-click 可选择可见范围,用于移动或删除多个项目。
- 内联重命名:新项目会保留在树中供你编辑名称,并会校验空名称、
/字符和重复名称。 - 已打开文件指示:已在标签页中打开的文件会在侧边栏中标记出来。
- 活动文件高亮:即使在标签页之间移动,当前文件也会保持高亮。
- Git 状态:已更改的 Git 管理文件可以显示M徽标,并可在树中自动显示更改文件。
- Modified Files 快速访问:当 Git 报告更改文件时,RibbonDiff 会在树顶部显示可折叠的快速访问区,让你直接跳到更改文件或复制其路径。
- 调整 Modified Files 大小:拖动快速访问列表下方的分隔线即可实时调整大小。默认情况下,展开的区块在滚动前最多显示 6 行。
- Modified Files 状态:同一窗口组中的标签页会共享该区块的折叠/展开状态以及确认后的展开高度。拖动中的实时变化只作用于正在调整大小的标签页,直到松开分隔线。
- 原生观感:侧边栏使用 macOS 原生文件图标,在非活动窗口中会变暗,并为较长的文件名或文件夹名保留更宽的显示区域。
更改导航
-
移动到上一个/下一个更改块(添加/删除/更改)。可使用中央 Ribbon 顶部的上/下箭头,或使用菜单栏中的移到上一个更改(Navigate → Previous Change) / 移到下一个更改(Navigate → Next Change)。
快捷键:⌥⌘↑(Previous Change)、⌥⌘↓(Next Change)
窗格标题(每一侧)
每个窗格都有一个标题行,包含以下元素:
- 标题区域:在非 Workspace 窗口中,显示已打开文件名、Version History 预览标题,或Text 1 / Text 2。在关联到 Workspace 的窗口中,为给徽标和 Find 留出空间,RibbonDiff 会省略窗格标题中的这段文本。
- 活动窗格标记:最后获得焦点的窗格会在标题区域旁显示一个小的活动编辑器标记。如果该窗格有未保存更改,它会变为橙色。
- Find 字段:每个窗格在标题行中都有自己的 Find 字段。
⌘F后,会聚焦到活动窗格的字段。如果编辑器标题栏被隐藏,RibbonDiff 会先显示它。输入时会高亮匹配项。 - Syntax 徽标:显示检测到的语法(Auto)或手动选择。
- Line endings 徽标(可选): RibbonDiff → Settings…中启用后,会显示LF/CRLF/CR,并控制保存时写入的换行符。此徽标在只读的 Version History 预览中会隐藏。
- Encoding 徽标(可选): RibbonDiff → Settings…中启用后,会显示当前文本编码(例如: UTF-8、UTF-16LE、UTF-32),并控制保存时使用的编码。此徽标在只读的 Version History 预览中会隐藏。
- Reload 图标(↻,仅限关联到文件的窗格,且仅在启用 Encoding 徽标时): 指定编码重新加载(Reload with Encoding)工作表,选择编码后从磁盘重新加载文件。当文件以错误编码打开(出现乱码)时使用。Reload 会丢弃该窗格中的未保存更改。
- 只读预览锁:当窗格显示 Version History 快照时,会显示锁定图标,表示该预览不可编辑。
- Clear 控件:关联到文件的窗格和 Version History 预览会显示×按钮,未关联的文本窗格会显示垃圾桶按钮。对于关联到文件的窗格,×会解除文件关联并清空窗格。对于 Version History 预览,×会清除预览。如果窗格有未保存更改,这些图标会变为橙色。清空或解除任一窗格的关联后,Diff 高亮也会清空,直到两个窗格再次都有内容。
Version History 控件
- 分支选择器 👑:对于 Git 管理的 Workspace 内文件,可在 RibbonDiff 中直接浏览分支。
- 版本选择器 👑:选择历史修订。选择器会显示提交摘要、短哈希、作者和相对日期。
- 提交过滤器弹出窗:按摘要、哈希或作者搜索提交,并根据你要查看文件专属历史还是整个分支历史来切换Affected和All。
- Live Edit:当左侧固定为当前 Workspace 文件时,查看历史后可从版本选择器返回可编辑的工作树版本。
- Affected 修订高亮:触及当前文件的修订会被高亮,便于找到有意义的历史。
窗口/标签页标题: 如果任一窗格是从文件打开的,macOS 窗口名和标签页名会跟随该文件名。如果两个窗格都关联到文件,则优先使用左侧文件名。如果两个窗格都未关联到文件,标题会恢复为RibbonDiff。在基于 Workspace 的会话中,标题会随着文件和标签页切换更自然地变化。当文件提供标题时,macOS 也会在标题栏中显示标准代理图标和路径菜单。
编辑器 + Ribbon
- 左编辑器:通常作为Original处理。从 Workspace 打开的文件会固定在左侧,因此 Workspace 文件会成为 Diff 的基准。
- 右编辑器:通常作为Modified处理。
- 历史预览 👑:启用 Version History 时,RibbonDiff 会保持当前文件与历史快照的方向一致,使添加/删除高亮更直观。
- 中央 Ribbon:显示更改块之间的连接线(两侧都有内容时显示)。计算 Diff 时还会显示进度指示器。
- 当前行高亮:以低调的条带显示当前光标行,帮助你了解正在编辑的位置。
- 滚动:编辑器滚动遵循标准 macOS 行为,包括橡皮筋滚动。
3. 文本比较(Diff 的显示方式)
RibbonDiff 使用可配置的颜色高亮更改:
Diff 高亮(行背景色、更改标记、中央 Ribbon)会在两侧窗格都有内容时显示。清空或解除任一窗格关联后,Diff 会隐藏,直到两侧再次都有文本。当比较首次可用时(例如打开文件后、选择 Workspace 文件后、在第二个窗格粘贴内容后),如果存在差异,RibbonDiff 会自动滚动到第一个更改块。
- 添加: 右侧才存在的内容。
- 删除: 左侧才存在的内容。
- 更改:已更改区域(通常也包括行内更改片段)。
- Connector(Ribbon):在中央连接更改块的链接。
将当前内容与 Version History 比较时,RibbonDiff 会保持当前文件和历史预览的对应关系,使添加/删除高亮保持自然可读。
在更改之间移动(Next/Previous Change)
在大型 Diff 中,可以直接在更改块之间移动,无需手动滚动。
使用方法
- 点击中央 Ribbon 顶部的上箭头 / 下箭头按钮。
- 或使用菜单栏中的移到上一个更改(Navigate → Previous Change) / 移到下一个更改(Navigate → Next Change)。
- 键盘快捷键:
⌥⌘↑(Previous Change)、⌥⌘↓(Next Change)。
哪些内容会被视为“更改”
- 添加、删除、更改块。
- 没有更改的区域会被跳过。
备注
- 提示:比较首次可用时,如果存在差异,RibbonDiff 会自动滚动到第一个更改。
- 导航会跟随活动窗格(左或右)。单击窗格内部即可使其成为活动窗格。
- 启用联动滚动时,RibbonDiff 会将另一侧窗格对齐到对应块。
- 到达末尾(或开头)时,导航会循环。
- 即使 RibbonDiff 刚自动跳到第一个更改,后续更改导航也会根据活动窗格工作。
4. Workspace 👑
Workspace是Pro(Pro Trial 或 Pro Lifetime)中可用。它为 RibbonDiff 添加项目级侧边栏,让你无需为每个 Diff 重新建立上下文,就能浏览并比较文件。
Workspace 可以做什么
- 文件夹或
.rd-workspace文档打开到专用侧边栏。 - 不是按每个标签页,而是按窗口共享一个 Workspace。该窗口内的所有标签页都会使用同一项目上下文。
- 将所选文件直接打开到比较的左侧,并固定为 Diff 的基准。
- 跨 Workspace 文件搜索文本,然后直接从结果列表打开匹配的文件和行。
- 通过内联重命名创建新文件和文件夹,然后直接在 Workspace 树中移动、删除,并在 Finder 中显示文件或文件夹。
- 可以在不丢失项目树位置的情况下,移动到相关比较。
打开 Workspace 来源
- 打开 Workspace(File → Open Workspace…)(
⇧⌘O)会在新的独立窗口中打开所选文件夹或.rd-workspace文档。 - 使用空侧边栏中的打开文件夹或 Workspace 文件(Open Folder or Workspace File)按钮,或将文件夹或
.rd-workspace文件拖放到侧边栏,即可将 Workspace 关联到当前窗口。 - 将 Workspace 关联到当前窗口时,RibbonDiff 会先关闭同级标签页,并在替换当前比较前确认是否保存或丢弃未保存工作。
浏览和打开文件
- 单击 Workspace 树中的文件会在当前标签页中打开。
- 文件Option-click时,会在另一个标签页中打开。
- 如果该文件已经在某个标签页中打开,再次单击会切换到现有标签页,而不会重复打开。
- 工作时,活动文件会在侧边栏中保持高亮。
搜索 Workspace 文件
- 选择 Find → Find in Workspace… 或按
⇧⌘F,即可将侧边栏切换到 File Search 并聚焦搜索字段。 - 输入查询,以搜索打开的 Workspace 中可读取的文本文件。
- 结果会按 Workspace 顺序按文件分组,并显示文件夹上下文、行号、匹配数、高亮预览,以及文件树中用于 Git 修改文件的同一 M 标记。
- 展开或折叠文件组即可显示或隐藏其中的匹配行。
- 点击匹配行即可在左侧编辑器中打开该 Workspace 文件,并将编辑器焦点保持在点击的匹配项上。
- Option-click 结果标题或匹配行,可在另一个标签页中打开,同时保留已显示的匹配位置。
- 右键点按结果标题可使用 Open in New Tab、Copy Relative Path 或 Copy Full Path。
- 使用 View → Show File Tree(
⌘1)和 View → Show File Search(⌘2)在文件树和搜索结果之间切换。 - 在标签页之间移动时,RibbonDiff 会保持文件搜索可见;切换侧边栏模式时,会保留搜索查询、结果、展开的文件和滚动位置。
- Workspace 文件发生变化或保存 Workspace 文件后,Workspace 文件搜索会刷新。
从侧边栏管理文件和文件夹
- 使用侧边栏顶部的 Workspace Actions 菜单添加新文件、添加新文件夹,或在 Finder 中显示 Workspace 文件夹。
- 右键点按文件夹可使用 Add New File、Add New Folder、Delete、Show in Finder、Copy Relative Path 或 Copy Full Path。
- 右键点按文件可使用 Open in New Tab、Delete、Show in Finder、Copy Relative Path 或 Copy Full Path。
- 当 RibbonDiff 能根据目标文件夹推断扩展名时,新文件会使用
Untitled.swift或Untitled 2.swift这样的唯一名称;无法推断时会回退到Untitled.txt。 - 新文件夹会使用
Untitled Folder或Untitled Folder 2这样的唯一名称。 - 创建项目后,可以编辑内联名称,按 Return 确认,或按 Escape 取消。RibbonDiff 会拒绝空名称、包含
/的名称,以及同一文件夹中的重复名称。 - Delete 会在确认后将所选文件或文件夹移到废纸篓。删除文件夹会包含其中内容,且不能从侧边栏删除 Workspace 根目录。
选择和移动 Workspace 项目
- Command-click 可在可见树中切换选择单个文件或文件夹。
- Shift-click 会从当前选择锚点选择一个可见范围。
- 将所选项目拖到文件夹上,或拖到树中的空白区域,以将它们移动到 Workspace 根目录。
- 当同时选中某个文件夹及其子项目时,RibbonDiff 只会移动或删除外层文件夹一次,而不会重复处理子项目。
- RibbonDiff 会阻止移动到同一文件夹、移动到项目自身或其子项、移动到 Workspace 外部,或移动到存在重复名称的目标位置。
- 移动成功后,打开的编辑器、侧边栏选择、展开状态、文件监视和 Git 状态都会刷新到新路径。
Workspace 文档
- Workspace 可以保存为
.rd-workspace文档,并在之后重新打开。 - 打开 Workspace(Open Workspace…)(
⇧⌘O)会在新窗口中打开 Workspace 文档选择器。要用 Workspace 替换当前窗口中的比较,请使用侧边栏按钮或拖放目标。 - 保存并重新打开 Workspace 文档时,RibbonDiff 会保留侧边栏中的文件夹展开状态。
- Workspace 窗口会更可靠地恢复,包括重启后或显示器变化后的安全摆放。
侧边栏显示和 Git 支持提示
- macOS 原生文件图标让侧边栏自然融入系统其余部分。
- 已经在标签页中打开的文件会在树中更清晰地显示。
- 当 Git 管理的文件发生更改时,可以显示M徽标,包括在 Workspace 文件搜索结果中。
- 可以在树顶部显示可折叠的Modified Files区块,快速前往更改文件,或复制其相对路径或完整路径。
- Modified Files下方的分隔线,可实时调整快速访问区域大小。默认情况下,展开区块在滚动前最多显示 6 行。
- 同一窗口组内的标签页会共享该区块的折叠/展开状态和确认后的展开高度。拖动中的实时变化只作用于正在调整大小的标签页,直到松开分隔线。
- 文件发生更改时,可以在树中自动显示。
- 在非活动窗口中,侧边栏会自动变暗,并可为长名称扩展宽度。
备注: Workspace 可以保存为Pro功能。Limited模式下,RibbonDiff 会显示 Pro 提示,而不是打开侧边栏。访问级别。
5. Version History 👑
Version History是Pro 专用的 Workspace 功能。Git 管理的 Workspace内的文件,可以直接在 RibbonDiff 中浏览分支和修订,并将当前文件与只读历史快照比较。
可以做什么
- 无需离开 RibbonDiff 即可浏览分支。
- 可以在比较工作流中选择历史修订。
- 可以在分支/版本选择器中查看提交摘要、哈希、作者和日期。
- 可以按摘要、哈希或作者搜索修订列表。
- 可以根据你要查看仅触及当前文件的提交,还是整个分支的历史,将提交范围切换为Affected和All。
- 实际触及当前文件的修订会被高亮,因此更容易找到。
- 可以在比较视图中直接以只读文本预览旧内容。
- 查看历史后,可以从左侧的Live Edit返回。
常见流程
- 从 Git 管理的 Workspace 中打开文件。
- 根据需要选择分支。
- 从版本选择器中选择历史修订。
- 借助 Diff 颜色和 Ribbon,将只读快照与当前文件比较,查看发生了什么变化。
备注
- Version History 需要Pro,并且文件必须位于Git 管理的 Workspace内。
- 历史预览仅供查看,不能就地编辑。
- RibbonDiff 会保持当前文件与历史预览的方向,使添加/删除高亮更直观。
6. 打开文件和文件夹 👑
本节中的所有打开操作都需要Pro(Pro Trial 或 Pro Lifetime)。这包括拖放、打开(File → Open…)、从 Finder 打开、从 Terminal/CLI 打开,以及打开 Workspace。Limited模式下,RibbonDiff 支持比较输入或粘贴的文本;尝试这些工作流时会显示 Pro 提示。
拖放(Finder → 窗格)
- 文件左或右直接拖放到某个窗格时,会在该窗格中打开。
- RibbonDiff 会使用文件扩展名(例如:
.swift、.json、.md)来选择初始语法高亮语言。
覆盖保护:RibbonDiff 会避免意外覆盖文本。
- 如果窗格中已有文本,会要求你先清空。
- 如果该窗格已打开文件并且有未保存编辑,RibbonDiff 会拒绝替换,直到你清空或解除关联。
- 如果窗格关联到文件且没有未保存编辑,RibbonDiff 可以显示Replace确认提示。
从菜单打开(⌘O)
- 先单击目标窗格(左或右)内部。
- Choose 打开(File → Open…) (
⌘O)。 - RibbonDiff 会应用与拖放相同的覆盖规则。
打开 Workspace 👑
- 打开 Workspace(Open Workspace…)(
⇧⌘O)时,会打开 Workspace 文档选择器,并将其显示在新的独立窗口中打开。 - 在选择器中,可以选择文件夹或现有的
.rd-workspace文档。 - 要改为将 Workspace 关联到当前窗口,请使用侧边栏中的打开文件夹或 Workspace 文件(Open Folder or Workspace File)操作,或将文件夹或
.rd-workspace文件拖放到侧边栏。 - Workspace 属于窗口,因此该窗口内的所有标签页都会共享同一侧边栏和项目树。
- 已保存的
.rd-workspace文档可以在保留文件夹展开状态的情况下重新打开。
从 Finder 打开(双击 / “Open With…”)
- 可以直接从 Finder 打开文件:
- 将该文件类型的默认应用设为 RibbonDiff,然后双击;或
- 右键单击文件并选择使用 RibbonDiff 打开(Open With → RibbonDiff)。
- RibbonDiff 会每个标签页最多打开 2 个文件:
- 1 个文件: 左窗格中打开。
- 2 个文件: 第 1 个文件 → 左侧,第 2 个文件 → 右侧。
- 3 个或更多文件: 默认会跨标签页作为成对文件打开:(1,2)、(3,4)、…
从 Terminal 打开(CLI)
可以使用 macOS 标准的open命令从命令行打开文件:
open -a RibbonDiff /path/to/old.txt /path/to/new.txt
如果文件路径包含空格,请用引号括起来:
open -a "RibbonDiff" "Old File.txt" "New File.txt"
标签页/窗口行为(覆盖保护)
- 默认: RibbonDiff 仅在两个窗格都为空,且两者当前都不是从文件打开(新建标签页)的情况下重用最前方标签页。否则,为避免覆盖当前比较,会将文件打开到新标签页(必要时打开新窗口)。
高级:重用模式(CLI 包装器)
某些 CLI 包装器可以在打开文件时请求不同的重用策略。RibbonDiff 会从同一打开请求中包含的任何control file读取此策略。
- Automatic(默认): 两个窗格都为空,且两者当前都不是从文件打开(新建标签页)时才重用当前标签页/窗口。否则会打开新的标签页/窗口。
- Reuse: 没有未保存编辑时重用当前标签页/窗口。否则会打开新的标签页/窗口。
- Force Reuse: 始终重用当前标签页/窗口(可能会丢弃未保存编辑)。
备注: Reuse或Force Reuse时,在打开 3 个或更多文件(多对文件)时,同一标签页可能会被反复重用。在这种情况下,最后一对会优先。如果希望每一对分别在新的标签页/窗口中打开,请使用Automatic。
Control file 要求
- 名称: 文件名必须
ribbondiff-cli-或.ribbondiff-cli-开头(例如:ribbondiff-cli--control.json或.ribbondiff-cli--control.json)。扩展名任意,但建议使用.json。 - 内容:
mode字段的 JSON(不区分大小写):automatic(auto和default也可以),reuse,或forceReuse。Force Reuse 还接受force-reuse、force_reuse、force。 - 验证: 只有当 RibbonDiff 能够解码 JSON,且能够识别
mode值时,才会将该文件作为 control file 处理。否则,它会被当作普通文件打开或比较。 - 多个 control file: 有效的control file 被指定多个时,最后一个有效的会优先。
- 不会作为内容打开: 识别为 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)会写回同一文件。
- 如果窗格尚未关联到文件,保存(Save)会像“创建新文件”一样工作,并要求选择保存位置。
Save As (⇧⌘S)
- 始终要求指定新的保存位置和文件名。
- 如果窗格已经关联到文件,Save As会将当前文件名作为默认候选。
保存 Workspace
- Workspace 可以保存为
.rd-workspace文档,并在之后重新打开。 - 保存 Workspace(Save Workspace)会为关联到文件夹的 Workspace 创建新的
.rd-workspace文档。快捷键:⇧⌥⌘S。 - 如果 Workspace 已经关联到
.rd-workspace文档,RibbonDiff 会就地更新已保存的侧边栏状态。若要创建另一个 Workspace 文档,File 菜单中的命令会变为Workspace 另存为(Save Workspace As…)。 - 已保存的 Workspace 会保留项目上下文和侧边栏文件夹展开状态,因此稍后可以回到相同布局。
- Workspace 窗口在重启后也会更可靠地恢复。
换行符和编码
RibbonDiff 关注的是文本内容的 Diff,而不是文件保存格式的细节。换行符和字符编码会在内部规范化,因此两个使用不同换行样式或不同 Unicode 编码的文件也可能被视为相同。
换行符
- 概述: 换行符是文件分隔行的方式: LF(
\n)、CRLF(\r\n),或CR(\r)。 - RibbonDiff 中的 Diff: 换行符会在内部规范化,因此仅 LF 与 CRLF 的差异不会产生 Diff。
- 窗格徽标: RibbonDiff → Settings…中启用后,每个编辑器窗格会显示LF/CRLF/CR徽标。可用它选择下次保存时写入的换行符。
- 打开文件时: RibbonDiff 打开文件时会检测主要换行样式,并据此设置徽标。
- 保存文件时: RibbonDiff 会使用徽标的当前选择保存文件。仅更改换行符徽标可能会在不改变显示文本的情况下重写文件。这是预期行为。
文本编码
- 概述: 编码是将字符作为字节保存在磁盘上的方式。RibbonDiff 在内部使用Unicode文本处理。
- RibbonDiff 中的 Diff: 文件会在 Diff 前解码为 Unicode 文本。如果两个文件解码后得到相同文本(例如一个是 UTF-8,另一个是 UTF-32),Diff 会显示为相同。
- 窗格徽标: RibbonDiff → Settings…中启用后,每个编辑器窗格会显示Encoding徽标。该徽标控制下次保存时使用的编码。(更改徽标不会重新解码已经打开的文本。)
- 打开文件时: RibbonDiff 打开文件时会尝试自动检测文本编码。如果自动检测不明确,RibbonDiff 会显示编码选择(Choose Encoding)工作表。请选择正确编码来打开文件。
- 修复乱码: 如果文本看起来不正确(出现乱码),请使用窗格中的Reload控件(↻)中的指定编码重新加载(Reload with Encoding),选择另一种编码并从磁盘重新加载。(Reload 会丢弃该窗格的未保存编辑。)
- 保存文件时: RibbonDiff 会使用徽标中显示的编码写入文件。如果保存时需要 BOM,请选择UTF-8 (with BOM)。仅更改 Encoding 徽标可能会在不改变显示文本的情况下重写文件。这是预期行为。
支持的编码
每个窗格的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 会安全处理外部更改的文件。
- 如果已打开的文件在磁盘上发生变化,且 RibbonDiff 内没有未保存编辑,该窗格会自动重新加载。
- 如果窗格中有 RibbonDiff 内的未保存编辑,在用磁盘上的新内容替换应用内更改之前会先确认。
- 这样可以让关联到文件的窗格与磁盘上的实际内容保持一致,同时保护尚未保存的编辑。
- 如果需要用另一种编码重新打开同一文件,请不要等待自动重新加载,而是使用窗格中的Reload控件。
9. 处理未保存更改
RibbonDiff 会按窗格分别跟踪未保存编辑。
- 如果任一窗格有未保存编辑,窗口会显示标准 macOS document-edited dot。
- 未保存更改包括文本编辑,以及在 Settings 中启用时的每窗格换行符和Encoding徽标更改。
- 在 Workspace 会话中,活动文件会在侧边栏中保持高亮,标签页也可以显示未保存更改。
- 关闭有未保存编辑的窗口/标签页(
⌘W)时,RibbonDiff 会显示包含以下项目的Unsaved Changes提醒:- Cancel
- 不保存并关闭(Close Without Saving)
备注: 关闭确认有意采用“无保存”方式。请先用
⌘S或⇧⌘S保存需要保留的窗格 👑。
10. 每个窗格的搜索
RibbonDiff 使用标题行中的每窗格 Find 字段,同时也支持活动窗格的标准 macOS Find 快捷键。
基本操作
- 左或右单击编辑器内部,使该窗格成为活动窗格。
- ⌘F后,标题行中该窗格的Find字段会获得焦点。如果编辑器标题栏被隐藏,RibbonDiff 会先显示它。如果编辑器中已有选中文本,RibbonDiff 会将该选择作为搜索词。否则,如果该窗格的 Find 字段为空,它可以使用标准 macOS 共享 Find 字符串预填。
- 输入搜索词。输入时会高亮不区分大小写的匹配项。
- 要移动到下一个匹配项,请按Return或⌘G;要移动到上一个匹配项,请按⇧Return或⇧⌘G。到达窗格末尾或开头时,Find 导航会循环。
键盘快捷键
- 查找(Find…):
⌘F(聚焦活动窗格的 Find 字段) - 查找下一个(Find Next):
⌘G - 查找上一个(Find Previous):
⇧⌘G - 使用所选内容进行查找(Use Selection for Find):
⌘E
备注
- 每个窗格会保留各自的 Find 搜索词,但 RibbonDiff 也会与标准 macOS 共享 Find 字符串同步。
- Find 操作会跟随活动窗格。单击窗格的编辑器或 Find 字段,即可让该侧成为活动窗格。
- Find 高亮颜色可在Settings → Appearance中自定义,并且可以在Light和Dark中为不同外观设置独立的叠加颜色。
- 使用所选内容进行查找(Use Selection for Find)(
⌘E)会使用活动编辑器中选中的文本。 - 编辑 Find 字段时按Esc,焦点会回到该窗格的编辑器。
- 可以从 Find 字段菜单使用查找下一个(Find Next)、查找上一个(Find Previous)、Recent Searches、清除最近搜索(Clear Recent Searches)。
Find in Workspace 👑
打开 Workspace 后,选择 Find → Find in Workspace… 或按 ⇧⌘F,即可搜索该 Workspace 中可读取的文本文件。结果会显示在 Workspace 侧边栏中,并按文件分组,Git 修改文件会以 M 标记。点击匹配行会在左侧编辑器中打开文件,并将焦点保持在该匹配项上;Option-click 会在另一个标签页中打开结果。
- Show File Tree:
⌘1 - Show File Search:
⌘2 - Find in Workspace…:
⇧⌘F
11. 语法高亮
RibbonDiff 内置语法高亮和自动语言检测。
自动与手动
- Auto:RibbonDiff 会从文本中检测语言。
- 手动覆盖:点击 Syntax 徽标并选择语言。
支持的语言(徽标)
- 纯文本
- Swift
- C 系(C/C++/ObjC 风格)
- Java
- PHP
- Go
- Ada
- Rust
- Python
- JavaScript / TypeScript 系
- JSON
- YAML
- HTML/XML
- Markdown
Markdown 围栏代码块
在 Settings 中,可以选择是否将 Markdown 围栏代码块(``` / ~~~)根据围栏后的语言标签(例如: ```swift)进行高亮。
12. 工具栏、标题栏、标签栏、自动换行和 Ribbon 宽度
工具栏显示
- 隐藏工具栏(View → Hide Toolbar)会隐藏顶部控制行(Wrap、Whitespace、Swap、Clear)。
- 显示工具栏(View → Show Toolbar)会重新显示此行。
- 快捷键:
⌥⌘T - RibbonDiff 会在下次启动后保留此显示设置。
- 即使隐藏工具栏,窗格标题、Find 字段、更改导航按钮以及 Workspace 侧边栏(如果已打开)仍会显示。
编辑器标题栏显示
- 隐藏编辑器标题栏(View → Hide Editor Title Bar)会隐藏窗格标题行。
- 显示编辑器标题栏(View → Show Editor Title Bar)会重新显示。
- 快捷键:
⌃⌘T - 编辑器标题栏包含每个窗格的标题区域、Find 字段、徽标、重新加载按钮、预览锁,以及清除/解除关联控件。
- 当编辑器标题栏隐藏时按
⌘F,RibbonDiff 会自动重新显示它,以便聚焦到活动窗格的 Find 字段。
标签栏显示
- 隐藏标签栏(File → Hide Tab Bar) / 显示标签栏(File → Show Tab Bar)会切换 macOS 原生标签栏。
- 快捷键:
⇧⌘T - 在某些 macOS 版本中,即使
⇧⌘T可以使用,此快捷键也可能不会显示在 File 菜单命令旁。 - RibbonDiff 会在下次启动后保留此设置。
- 这控制的是 macOS 标签栏,而不是 Workspace 侧边栏。
自动换行
- 如果工具栏可见,可以切换Wrap,或选择自动换行(View → Word Wrap)(按窗口设置)。
- 快捷键:
⌃⌘W - 即使工具栏隐藏,自动换行(View → Word Wrap)和快捷键仍可继续使用。
重要: Wrap 不是全局设置,而是按窗口设置。Settings 只设置新打开编辑器窗口的默认值。
Whitespace 过滤器
- 如果工具栏可见,可以切换Whitespace,或选择空白过滤器(View → Whitespace Filters)。
- 快捷键:
⌃⌘I - 这个主开关会同时控制 3 个空白比较选项:忽略缩进样式(Ignore indentation style)、忽略行首空白(Ignore leading whitespace)、忽略行尾空白(Ignore trailing whitespace)一起开启或关闭。
- 如果只启用了部分 Whitespace 过滤器,工具栏开关会显示混合状态;使用该开关时会一次性开启或关闭整组过滤器。
- 已保存的 Whitespace 过滤器默认设置会立即反映到已打开的 Diff 编辑器。
行号
行号可针对以下每个窗格单独启用/禁用:
- Left (Original)
- Right (Modified)
这可以在 Settings 中更改。
Ribbon 列宽
- RibbonDiff 在Appearance中提供Ribbon 列宽设置。
- 中央 Ribbon 可从60到120调整。
- 较小值会扩大编辑器区域;较大值会增强 Ribbon 的视觉存在感。
字体、字号和行距
RibbonDiff 可以调整编辑器文字显示,使长篇比较更易阅读。
- RibbonDiff → Settings…(
⌘,),然后转到General → Editor。 - 在 macOS 中,可以使用显示字体面板(Show Font Panel…)从已安装字体中选择。当前选择会显示在Font旁边。
- Font size和Line spacing。更改会立即反映到两个窗格。
- 编辑时,可以使用
⌘=(+在加号与等号位于同一键的键盘上则使用⌘+)增大字号,使用⌘-减小字号,使用⌘0重置编辑器字号。当前字号在两个窗格之间共享,并会在下次启动后保留。 - 恢复默认字体、字号和行距(Restore Default Font, Size & Spacing)可将 3 个编辑器文字设置全部恢复为默认值。
编辑行为
- Return 自动缩进: Return,会自动延续当前行的缩进。
- Tab 缩进/减少缩进: Tab缩进当前行或所选行,使用Shift-Tab减少缩进。
- 批量缩进/减少缩进: ⌘]缩进当前行或所选行,使用⌘[减少缩进。
- 推断缩进:RibbonDiff 会从活动窗格的文本中检测缩进宽度,并在编辑时尝试使用该宽度。如果无法推断明确样式,则回退到默认缩进宽度。
- 当前行高亮:以低调方式高亮光标行,便于了解编辑位置。
13. 设置(Preferences)和主题
从应用菜单打开 Settings:
- RibbonDiff → Settings…(通常是
⌘,)
General(一般)
- Left (Original)和Right (Modified)的行号。
- 设置新打开编辑器视图的默认自动换行行为。现有编辑器会保持当前自动换行设置。
- 忽略缩进样式(Ignore indentation style)、忽略行首空白(Ignore leading whitespace)、忽略行尾空白(Ignore trailing whitespace)中设置默认 Whitespace 过滤器行为。这些设置会立即反映到已打开的 Diff 编辑器。
- 设置编辑器的Font、Font size、Line spacing。在 macOS 中,可以选择显示字体面板(Show Font Panel…)来浏览已安装字体。这些文字设置会立即生效。
- 恢复默认字体、字号和行距(Restore Default Font, Size & Spacing)可仅重置编辑器文字设置。
- 针对 Workspace 侧边栏,可以调整Workspace 项目大小(Workspace item size)和Workspace 项目行高(Workspace item line height)。
- 每个窗格的换行符徽标(LF/CRLF/CR)以及每个窗格的Encoding徽标(例如: UTF-8、UTF-16LE、UTF-32)。
- 重置为默认值(Reset to Defaults)可将行号、颜色、背景、Find 叠加颜色、语法设置、编辑器/Workspace 选项以及主题选择恢复为内置默认值。默认内置主题是Vivid。已导入的用户主题仍可继续使用。
Appearance(外观)
Appearance 窗格顶部还会显示当前主题(Current Theme)行。点击即可直接前往 Theme 窗格。如果当前实时设置与所选主题不一致,该行可能显示更改徽标。
- 自定义 Diff 颜色: 添加、删除、更改、连接线(中央 Ribbon / Connector)。
- Find 匹配叠加层(Find Match Overlay)颜色。可使用与 Syntax 窗格相同的分段式编辑样式,分别为Light和Dark外观编辑。
- 活动的 Find 结果会自动使用同一叠加颜色的更强版本。
- Ribbon 列宽将60到120到10为单位进行调整。
- 可以从System或Custom选择以下背景:
- 编辑器背景
- Ribbon 背景
- 将背景设置为Custom时,RibbonDiff 会显示该背景的颜色选择器。
- 重置 Light 颜色(Reset Light Color) / 重置 Dark 颜色(Reset Dark Color)或重置两种颜色(Reset Both Colors)可恢复内置 Find 叠加颜色。
System 背景会自动跟随 macOS 的 Light/Dark Mode。
Syntax(语法)
Syntax 窗格顶部也会显示当前主题,因此编辑颜色时可以跳转到 Theme 窗格。
- 使用内置的System语法颜色,或启用Custom。
- 为 Markdown 启用高亮围栏代码块(Highlight fenced code blocks)。
- Light和Dark的语法调色板。
- 可以自定义以下语法颜色组:
- Text & Comments: Plain、Comment
- Code: Keyword、Type、Function、Property、Preprocessor、Attribute
- Values:Number、String、String(单引号)、String(反引号)、Literal
- Formats: JSON key、XML tag、XML attribute
- 重置 Light 调色板(Reset Light Palette) / 重置 Dark 调色板(Reset Dark Palette)或重置两个调色板(Reset Both Palettes)可恢复内置语法颜色。
更改会自动保存。
Theme(主题)
RibbonDiff 支持以下内容:
- 内置主题(Simple和Vivid)
- 用户主题(创建、复制、重命名或导入的主题)
首次启动时,RibbonDiff 默认选择内置Vivid主题。重置为默认值(Reset to Defaults)中也会回到Vivid。
主题列表提示:
- 点击主题即可应用。
- 所选主题前会显示勾选标记。
- 如果当前颜色、背景、Find 叠加颜色或语法设置与该主题保存的默认值不同,主题行中可能显示更改徽标。
- 用户主题会显示一个垃圾桶按钮用于快速删除。当前选中的用户主题只有切换到其他主题后才能删除。
主题操作和上下文菜单命令包括:
- 恢复主题默认值(Revert to Theme Defaults)(当所选主题有更改时)
- 另存为新主题(Save as New Theme…)(当所选主题有更改时)
- 将更改保存为默认值(Save Changes as Defaults)(适用于已更改的所选用户主题)
- 复制(Duplicate…)
- 重命名(Rename…)(用户主题)
- 删除(Remove)(用户主题)
- 导入主题(Import Theme…)和导出主题(Export Theme…)
- 从主题行的上下文菜单选择Export…即可导出该主题保存的定义
如果当前主题有未保存更改而你切换到其他主题,RibbonDiff 会先进行确认。
Licenses(许可证)
- Licenses窗格会显示 RibbonDiff 随附的开源许可证文本。
- 此窗格目前列出SwiftGitX和libgit2的随附许可证。
Pro
- 显示访问状态(Limited(免费)、7 天 Pro Trial(Pro Trial (7 days))、Pro Lifetime)。
- 显示 Pro 功能的包含的功能(What's included)部分。
- 开始免费的 7 天 Pro Trial(Trial 结束时不会自动收费)。
- 解锁 Pro Lifetime(一次性购买)。
- 如果未显示 Pro 访问权限(例如重新安装后或更换 Mac 后),请运行恢复购买(Restore Purchases)。
- 如果在 Limited 模式下尝试打开或保存文件、使用 Workspace 或 Workspace 文件搜索,或使用 Version History 等 Pro 专属工作流,RibbonDiff 会显示 Pro 升级提示。
如果你以前在 RibbonDiff 还是付费 App Store 下载时购买过,使用同一 Apple ID 时会自动解锁 Pro Lifetime。如果没有解锁,请打开RibbonDiff → Settings… → Pro并打开恢复购买(Restore Purchases)。
14. 主题导入/导出(高级)
主题可以作为JSON导入/导出。
导入主题
- Settings → Theme。
- 导入主题(Import Theme…)。
- 选择主题的
.json文件。
导入的主题会添加到User Themes并应用。
导出主题
- Settings → Theme。
- 导出主题(Export Theme…)。
- 输入主题名称(在 JSON 中保存为
Name) - 选择保存位置。
Export 按钮会将当前主题设置保存为 JSON 文件。
导出的 JSON 包含:
- Diff 颜色、背景、Find 匹配叠加颜色
- Syntax 调色板和 Markdown 选项
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 菜单。切换顶部控制行(Wrap、Whitespace、Swap、Clear),并在下次启动后保留设置 |
| 显示/隐藏编辑器标题栏(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. 故障排除
“无法打开文件”
常见原因:
- 打开文件操作属于Pro工作流。Limited模式下,RibbonDiff 会改为显示 Pro 提示。
- 目标窗格中已有文本。
- 目标窗格中有一个已打开且含未保存编辑的文件。
解决方法:
- 如果 RibbonDiff 显示升级提示,请检查RibbonDiff → Settings… → Pro。
- 使用窗格中的垃圾桶 / ×控件清空,或在另一侧窗格中打开文件。
Workspace 按钮保持折叠,或显示升级提示
- Workspace 可以保存为Pro功能。
- 如果 RibbonDiff 显示 Pro 提示,请从RibbonDiff → Settings… → Pro开始 Pro Trial,或解锁 Pro Lifetime。
- 如果当前窗口已经打开 Workspace,请使用共享侧边栏,不要为每个标签页创建另一个 Workspace。
Workspace 文件搜索没有结果
- Workspace 文件搜索需要打开的 Workspace,以及 Pro Trial 或 Pro Lifetime。
- 搜索会覆盖 Workspace 中可读取的文本文件。二进制、无法读取或非常大的文件可能会被跳过。
- 如果你刚编辑过文件,请先保存再重新搜索,这样保存后的文本才能出现在 Workspace 结果中。
无法使用 Version History
- Version History 是Pro 专用的 Workspace 功能。
- 关联到 Git 的 Workspace内文件才可使用。如果当前文件位于 Workspace 外,或 Workspace 未关联到 Git,分支或版本选择器可能不会显示。
- 历史预览是只读的。需要编辑时,请返回实时文件。
磁盘上的文件发生了变化
- 如果应用内没有未保存编辑,RibbonDiff 会自动重新加载已更改文件。
- 如果存在未保存编辑,请在 RibbonDiff 用磁盘上的新内容替换它之前回应显示的确认。
从 Finder/Terminal 打开时创建了新标签页
从 Finder(双击 / Open With…)或 Terminal(open -a RibbonDiff …)打开文件时,RibbonDiff 会保护当前比较。
- 如果最前方标签页已有内容、已打开文件或未保存编辑,RibbonDiff 会将新文件打开到新标签页(必要时打开新窗口)。
- 如果最前方标签页是新建标签页(两个窗格都为空,且当前不是从文件打开),RibbonDiff 会重用该标签页。
- 如果希望 RibbonDiff 重用当前标签页,请确认两个窗格都为空且未关联(不是从文件打开)。使用窗格中的垃圾桶 / ×控件清空/解除关联,或在工作流支持时使用 CLI 的“reuse”选项。
Workspace 文件管理没有完成
- 新的 Workspace 项目名称不能为空,不能包含
/,也不能与同一文件夹中的其他项目重名。 - 拖动移动必须以 Workspace 内的文件夹为目标。RibbonDiff 会阻止无变化移动、移动到项目自身或子文件夹,以及重复名称冲突。
- 删除会将已确认的项目发送到废纸篓;如果删除后需要恢复,请使用 Finder 的废纸篓。
Open Workspace… 打开了新窗口
- 这是预期行为。打开 Workspace(File → Open Workspace…)始终会将所选文件夹或
.rd-workspace文档打开在新的独立窗口中打开。 - 若要用 Workspace 替换当前窗口中的比较,请改用侧边栏中的打开文件夹或 Workspace 文件(Open Folder or Workspace File)按钮,或将文件夹 /
.rd-workspace文件拖放到侧边栏。
文本显示为乱码(编码不匹配)
如果文件以不可读字符(乱码)打开,可能是用错误编码解码了。
- RibbonDiff → Settings…(General)中Encoding徽标。
- 在窗格标题中点击Reload图标(↻),然后选择指定编码重新加载(Reload with Encoding),即可用另一种编码重新打开文件。
- 如果 RibbonDiff 在打开时显示编码选择(Choose Encoding)工作表,请选择正确编码以继续。
- 备注: Reload 会从磁盘重新加载,并丢弃该窗格的未保存编辑。
Find 字段或窗格徽标消失了
编辑器标题栏可能已隐藏。
- 显示编辑器标题栏(View → Show Editor Title Bar),或按
⌃⌘T。 ⌘F也会自动显示标题栏,并聚焦到活动窗格的 Find 字段。
Wrap / Whitespace / Swap / Clear 消失了
顶部工具栏行可能已隐藏。
- 显示工具栏(View → Show Toolbar),或按
⌥⌘T。 - 这样会恢复包含Wrap、Whitespace、Swap、Clear的顶部工具栏行。编辑器内容、Workspace 和 Diff 不会改变。
⇧⌘T 可用,但 File 菜单中不显示快捷键
- 在某些 macOS 版本中,即使
⇧⌘T可以切换标准标签栏,但 File 菜单中隐藏标签栏(Hide Tab Bar) / 显示标签栏(Show Tab Bar)的快捷键显示有时会被省略。 - 这只影响菜单中是否显示快捷键,不影响 RibbonDiff 对该快捷键的支持。
“Theme Import Failed”(主题导入失败)
- 所选 JSON 文件可能不符合 RibbonDiff 的主题格式,或格式已损坏。
语法高亮看起来无效
为保持编辑响应,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
- RibbonDiff → Settings…,打开Pro。
- 开始 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)。