我希望能够在 Emacs 中打开两个窗口,在每个窗口中选择一个文本区域,并比较两个选择之间的差异。
这对于大型维护项目来说非常方便,在该项目中,我正在处理具有多个分支、大量复制/粘贴以及偶尔移动的代码的版本树。
我找到了一个确实提供此功能的付费工具(Ultracompare),但它是特定于 Windows 的,我需要一个在 Solaris/Linux 上运行的解决方案。
我认为 M-x ediff-regions-wordwise 可以满足你的需求。
运行
ediff-regions-wordwise
,Emacs 将提示每个缓冲区,然后提示您选择(或确认)缓冲区中的一个区域。
而且,额外的好处是,Emacs 也可以在 Windows 上运行!
我倾向于在两个缓冲区中使用
narrow-to-region
(C-x n n),然后使用 M-x compare-windows
,因为它已经为我工作了至少 100 年。 :-)
编辑: 为任何初学者添加一些步骤...... 我同意,这很有效。 以前,我使用 ediff,但现在 Windows 版 emacs 没有内置 diff。我现在喜欢这个的最大原因是因为我可以轻松地专注于我想要的区域。