比较Sublime Text中两个文件的内容

我有两个非常相似的开源项目的克隆库,我一直在Sublime Text 2的不同实例中工作,以达到我想要的结果。使用了这两个项目的代码。我一直在使用Git作为项目的版本控制,但没有包含原始项目。因此,我希望能够快速比较原始项目的两个文件的内容,并比较它们与我的项目之间的差异。

我希望Sublime Text 2会有一个“比较文件”功能,但我似乎在设置或在线中找不到任何与之相关的东西。完成这项任务的第三方ST2包也可以很好地工作。在ST2文本编辑器中可以完成这样的任务吗?

724768 次浏览

通过包控制有许多diff插件可用。我使用过Sublimerge职业,它工作得很好,但它是一个商业产品(有无限试用期),而且是封闭源代码的,所以如果你想改变一些东西,或者只是看看它的内部结构,就不能调整它。FileDiffs非常受欢迎,从安装数量来看,所以你可能想尝试一下。

你可以在Sublime Text中比较文件本身。

  1. 通过Open Folder...或 在项目
  2. 选择这两个文件(例如,按住Ctrl on Windows或macOS上的)你想在边栏中比较
  3. 右键单击并选择Diff files...选项。

更新
(鉴于好评,我觉得有必要一个完整的一步一步的解释…)

  1. 在菜单栏中单击File->Open Folder...
  2. 选择一个文件夹(实际的文件夹并不重要,这一步只是为了使FOLDERS边栏可用)
  3. 如果还没有显示侧栏,让它通过View -> Side Bar -> Show Side Bar显示
  4. 使用这个__abc0标题的侧栏导航到你想比较的第一个文件。
  5. 选择它(单击它),按住ctrl并选择第二个文件。
  6. 选中两个文件后,右键单击其中一个并选择Diff Files...

现在应该有一个新的标签显示比较。


< p > 最初的简短回答: < br > 注意:< / p >

“Diff文件”只出现在“文件夹”侧栏(打开文件夹:File->打开文件夹),而不是“打开文件”侧栏。

并排比较看起来对我来说是最方便的,尽管它不是最流行的:

.

UPD:我需要补充的是,这个插件可以在比较大文件时冻结ST。如果你要比较大的文本,这当然不是最好的决定。

UPDATE 2017年10月 我从来不知道Sublime Text中存在这个功能,但界面似乎与之前的答案略有变化——至少在OS x上是这样。下面是我遵循的详细步骤

  1. 在菜单栏单击文件->打开…
  2. 导航到包含要比较的文件的文件夹,并与选定的文件夹一起,单击打开按钮,这将使文件夹侧边栏出现
  3. 在文件夹侧栏中,单击要比较的第一个文件
  4. 按住Windows上的Ctrl或OS X上的⌘,然后单击第二个文件
  5. 选中两个文件后,右键单击其中一个并选择Diff files…

这将打开一个显示比较的新选项卡。第一个文件是红色的,第二个是绿色的。

2018年1月更新 -特别是Sublime/Mac

(这与Marty F的回复非常相似,但解决了之前回复中的一些问题,结合了几个不同的建议,并讨论了最初给我带来问题的关键区别。)

我正在Mac上使用Sublime Text 3 (build 3143),并且已经尝试了大约30分钟来找到这个文件比较功能。我以前在Sublime/Mac上使用过,没有任何问题,但这一次,它比较棘手。但是,我终于明白了。

  1. < p > 文件格式不需要为UTF-8。我已经成功地比较了UTF-8、ISO-8559-1和Windows-1252的文件。

  2. < p > 没有文件>打开Sublime/Mac上的文件夹。上面的许多说明都以“选择文件>打开文件夹,“但在Sublime/Mac上不存在。

  3. < p > 文件比较工作在项目的基础上。如果您想比较两个文件,它们必须保存到磁盘和当前项目的一部分。

  4. < p > 打开项目的方法

  • 如果Sublime/Mac没有运行,或者它正在运行但没有打开窗口,将一个文件夹拖到Sublime应用程序上。
  • 如果Sublime/Mac正在运行,选择“文件>打开quot;,导航到所需的文件夹,选择一个文件或文件夹,然后单击quot;打开quot;。
  1. < p > 添加一个文件夹到一个项目。如果要比较的文件不属于同一个层次结构,请首先打开包含其中一个文件的文件夹。然后,选择“项目”;“将文件夹添加到项目”,导航到你想要的文件夹并单击“打开”。现在,您将在侧边栏中看到两个根级文件夹。

  2. < p > 侧栏必须是可见的 .。你可以选择"View >Side Bar >Show Side Bar"或者使用快捷键,Command-K, Command-B。

  3. < p > 文件必须关闭(即保存)来比较。在侧栏中单击一个文件会打开该文件,但会显示该文件。如果一个文件列在“打开的文件”中,您就可以判断该文件是否已打开。部分在侧栏的顶部。双击文件或对文件进行修改将自动将文件的状态更改为“打开”。在这种情况下,请确保在尝试比较之前关闭它。

  4. < p > 从文件夹层次结构中选择文件。这里是标准Mac的快捷方式,()点击第一个文件,然后command -点击第二个文件。当您选择第一个文件时,您将看到它的内容,但它没有打开。然后,当你Command-click第二个文件时,你会看到它的内容,但同样,两个都不是打开的。您将注意到编辑面板中只有一个选项卡。

  5. < p > Control-click和右键单击不一样。这就是让我生气的原因。我使用我的触控板,经常使用右键单击或二次单击。这行不通给我。但是,由于我在“系统首选项”中将我的触控板配置为使用触控板的右下角作为右键,这是有效的,显示上下文菜单,带有“删除”,“查找器中显示”和....“……“Diff文件;

瞧!

没有人在谈论Linux,但以上所有的答案都是有效的。只需使用Ctrl键选择多个文件。如果你想要进行比较,融合很不错。

视图-布局和视图-组将在最新的Sublime 3

例如:

转变+Alt+2——>创建2列

Ctrl+2——>移动所选文件到列2

这是用于并排比较。 对于实际的diff,还有其他已经提到的diff函数。 不幸的是,我无法找到使列同时滚动的方法,这将是一个很好的特性。< / p >

还有一个BeyondCompare插件。它打开BeyondCompare窗口中的两个文件。从sublime窗口打开文件非常方便。

您需要在系统中安装BC3。 在安装插件之后,你必须提供安装的路径

例子:

{
//Define a custom path to beyond compare
"beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}

Diff选项仅在文件位于属于项目一部分的文件夹中时才会出现。

然后你就可以在Sublime Text中比较文件了。

通过打开文件夹导航到包含它们的文件夹…或者在一个项目中 在侧栏中选择你想要比较的两个文件(即在Windows上按住Ctrl或在macOS上按住⌘) 右键单击并选择Diff文件…选择。< / p >