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

时间:2014-09-16 16:31:44

标签: compare sublimetext2 diff sublimetext sublime-text-plugin

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

我希望Sublime Text 2具有“比较文件”功能,但我似乎无法在设置或在线中找到任何与之相关的内容。完成此任务的第三方ST2程序包也可以正常运行。 是否可以在ST2文本编辑器中执行此任务?

9 个答案:

答案 0 :(得分:185)

Compare Side-By-Side看起来对我来说最方便,虽然它不是最受欢迎的:

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

答案 1 :(得分:56)

通过Package Control可以获得许多diff plugins。我已经使用了Sublimerge Pro,它运作得很好,但它是商业产品(无限试用期)和封闭源代码,所以如果你想要的话你就不能调整它改变一些东西,或者只是看看它的内部结构。 FileDiffs非常受欢迎,从安装次数来看,所以你可能想尝试一下。

答案 2 :(得分:44)

更新
(鉴于赞成票,我觉得需要一个完整的逐步解释......)

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

    原始简答:
    请注意:

    " Diff文件"仅出现在"文件夹"侧栏(打开文件夹:文件 - >打开文件夹),而不是"打开文件"侧栏。

答案 3 :(得分:17)

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

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

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

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

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

  3. 文件比较适用于项目 。如果要比较两个文件,则必须将它们保存到磁盘并保存到当前项目的一部分。

  4. 打开项目的方法

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

  6. 补充工具栏必须可见 。您可以“查看>侧边栏>显示侧栏”或使用快捷键Command-K,Command-B。

  7. 必须关闭(即保存)文件才能进行比较 。单击侧栏中的文件打开文件,但它会显示它。如果文件在侧栏顶部的“打开文件”部分中列出,则可以判断文件是否已打开。双击文件或对文件进行修改会自动将文件状态更改为“打开”。在这种情况下,请务必在尝试比较之前将其关闭。

  8. 从文件夹层次结构中选择文件 。此处标准Mac shorcut()单击第一个文件,然后按住Command键并单击第二个文件。当您选择第一个文件时,您将看到其内容,但它未打开。然后,当您按住Command键并单击第二个文件时,您将看到内容,但同样,它们都没有打开。您会注意到编辑面板中只有一个选项卡。

  9. 按住Control键并不等于右键单击 。这是让我的。我使用我的触控板并经常使用按住Control键单击作为右键单击或辅助点击。 对我来说这不起作用。但是,由于我在“系统偏好设置”中配置了触控板,使用触控板的右下角作为右键单击,显示上下文菜单,显示“删除”,“在Finder中显示”,以及.... “差异文件......”

  10. 瞧!我希望这可以帮助别人。

答案 4 :(得分:9)

2017年10月更新 我从来不知道Sublime Text中存在此功能,但界面似乎与之前的答案略有不同 - 至少在OS X上。以下是我遵循的详细步骤:

  1. 在菜单栏中点击文件 - >打开...
  2. 导航到包含要比较的文件的文件夹以及所选的文件夹,单击打开按钮,这会使文件夹边栏显示
  3. 在FOLDERS侧边栏中,单击要比较的第一个文件
  4. 按住Windows上的Ctrl或OS X上的⌘,然后单击第二个文件
  5. 选择两个文件后,右键单击一个并选择Diff Files ...
  6. 这将打开一个显示比较的新选项卡。第一个文件是红色,第二个是绿色。

答案 5 :(得分:3)

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

例如:

Shift + Alt + 2 ->创建2列

Ctrl + 2 ->将所选文件移至第2列

这是用于并排比较。 对于实际的差异,还有其他已经提到的差异函数。 不幸的是,我找不到使列同时滚动的方法,这将是一个不错的功能。

答案 6 :(得分:2)

没有人在谈论Linux,但以上所有答案都可行。只需使用Ctrl键选择多个文件即可。如果您希望并排比较,Meld很可爱。

答案 7 :(得分:0)

还有一个BeyondCompare插件。它将在BeyondCompare窗口中打开2个文件。从崇高窗口打开文件非常方便。

您将需要在系统中安装BC3。 安装plugin后,您将必须提供安装路径。

示例:

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

答案 8 :(得分:0)

仅当文件位于项目一部分的文件夹中时,“差异选项”才会出现。

实际上,您可以直接在Sublime Text中比较文件。

通过“打开文件夹”或项目导航到包含它们的文件夹 在侧边栏中选择要比较的两个文件(即,在Windows上按住Ctrl或在macOS上按住files) 右键单击并选择“差异文件...”选项。