Sublime怎么比较两个文件_Sublime如何使用Diff对比插件【详解】

夏宇吖_5822

夏宇吖_5822

2026-03-27

284人浏览

原创

sublime text 原生不支持 diff,需装 diffy 插件;按 ctrl+shift+d(win/linux)或 cmd+shift+d(macos)对比已打开文件,须先聚焦标签页;忽略空格默认开启,误标整行差异,需改配置禁用。

sublime怎么比较两个文件_sublime如何使用diff对比插件【详解】

Sublime Text 自带 diff 功能能用吗?

不能直接用。Sublime Text 原生不提供文件对比(diff)视图,点开两个文件就是两个独立标签页,没有并排高亮差异、跳转变更块、合并修改这些能力——你得靠插件补上这一环。

最常用、维护活跃、行为接近 VS Code 或 Beyond Compare 的是 Diffy,不是 SublimeDiff(已停更)或 FileDiffs(功能简陋,不支持双向同步滚动)。装错插件,后面所有操作都卡在“看不出哪行变了”这一步。

  • Diffy 支持左右并排、行内差异高亮、点击跳转、右键快速应用某处差异
  • 它不依赖外部命令(比如系统 diff),Windows/macOS/Linux 开箱即用
  • 安装后快捷键是 ctrl+shift+d(Win/Linux)或 cmd+shift+d(macOS),不是菜单里找

怎么让 Diffy 对比两个已打开的标签页?

必须先激活(focus)其中一个要对比的标签页,再按快捷键;如果当前焦点在侧边栏、控制台或未保存的临时文件上,Diffy 会静默失败,不报错也不弹窗——这是新手最常卡住的地方。

正确流程只有两步:

  • 点击左边要当“基准”的文件标签,让它成为当前活动视图
  • 按 ctrl+shift+d,然后用鼠标点选右边要对比的另一个已打开标签页

注意:不能靠 Ctrl+Tab 切换后直接按快捷键——焦点没落在编辑区,Diffy 就收不到上下文。如果点了没反应,先按一下 esc 确保没在命令面板里,再点一次文件标签。

对比结果里为什么有些行标红但内容没变?

这是 Diffy 默认开启「忽略空格差异」导致的误判。它把末尾空格、制表符转空格、换行符类型(\r\n vs \n)都算作“无意义变更”,于是把整行标为改动,但实际文本一样。

象寄翻译
象寄翻译

象寄翻译是一款AI视频创作工具,AI图片和视频翻译神器,支持多种语言的翻译。

下载

想关掉这个行为,得手动改配置:

  • 菜单 → Preferences → Package Settings → Diffy → Settings – User
  • 在里面加一行:"ignore_whitespace": false
  • 保存后重启 Sublime(不重启不生效)

另外,如果两个文件编码不同(比如一个 UTF-8 with BOM,一个纯 UTF-8),Diffy 会把 BOM 当作开头三个字符差异,全文件偏移——这时先统一用 File → Reopen with Encoding 调成一样再对比。

Diffy 能对比硬盘上两个未打开的文件吗?

能,但路径必须手动输入,不支持拖拽或文件选择框。快捷键还是 ctrl+shift+d,但触发后光标会跳到命令面板底部,显示 Enter path to file... 提示。

这时候输绝对路径最稳:

  • Windows 示例:C:\project\config.json(注意用正斜杠或双反斜杠,单反斜杠会报错)
  • macOS/Linux 示例:/Users/me/app/src/index.js
  • 相对路径容易出错,比如 ./a.txt 会从 Sublime 启动目录算,不是当前项目根目录

输错路径时,Diffy 不提示“文件不存在”,而是直接返回空白对比窗口——你得自己检查路径拼写、权限和是否真有这个文件。

Diffy 的逻辑很直白:它只做差异计算和渲染,不改文件、不存记录、不缓存历史。每次关掉对比窗口,就彻底清空。想留痕,得自己截图或复制差异块到新文件——这点容易被当成“功能缺失”,其实是设计使然。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2135

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3282

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1096

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3739

7

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

2023.06.20

4356

8

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.28

1335

5

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1738

5

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

2023.08.17

9923

11

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

2023.09.01

960

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程