Sublime Text 不支持直接十六进制打开二进制文件,需通过第三方插件 HexViewer 实现只读查看:先安装插件,再用“HexViewer: View in Hex”命令选择文件,最大文件限制可修改配置,且不支持编辑。

Sublime Text 本身不支持以十六进制模式“直接打开”二进制文件——你双击 .bin、.exe 或 .png,它要么拒绝加载,要么显示乱码或空标签页。这不是配置问题,是设计限制。
为什么不能像 VSCode 那样一键“Open in Hex Editor”?
VSCode 自 1.84 起已将 Hex Editor 作为内置功能(需启用),而 Sublime Text 官方从未提供十六进制视图能力。所谓“内置 HexViewer”是常见误解——HexViewer 是第三方插件,作者为 facelessuser,必须手动安装,且仅支持只读查看。
- 它不修改 Sublime 的底层文件加载逻辑,而是后置解析:先让 Sublime 尝试读取原始字节,再转成十六进制+ASCII 表格渲染
- 因此遇到含
\x00(空字节)或非标准头部的固件文件,常报Unable to open file: invalid start byte - 没有“自动识别二进制并切换视图”的机制,必须通过命令触发
怎么正确用 HexViewer 查看十六进制?
别双击文件,也别右键“用 Sublime 打开”,那是无效路径。正确流程是“先启命令,再选文件”:
- 确保已安装
Package Control(按Ctrl+Shift+P输入Install Package有响应即已装) - 按
Ctrl+Shift+P→ 输入Install Package→ 搜索并安装HexViewer(认准 GitHub 作者facelessuser) - 打开任意空白文件(或文本文件),再按
Ctrl+Shift+P→ 输入HexViewer: View in Hex→ 弹出系统文件选择框 → 选你的firmware.bin等目标文件
成功后左侧是偏移地址+16 进制字节(每行 16 字节),右侧是 ASCII 映射(不可见字符显示为 .)。
大文件打不开?配置没生效?常见卡点
默认最大加载 10MB,超限会静默失败或卡死。改配置前先确认是否真装对了插件:按 Ctrl+Shift+P 输入 HexViewer,若无任何选项,说明安装失败或未重启插件环境(可执行 Package Control: Satisfy Dependencies 强制重载)。
- 编辑
Preferences → Package Settings → HexViewer → Settings,添加:"max_file_size": 104857600
(单位字节,此处为 100MB) - 仍失败?可能是文件头部含非法字节导致流式解析中断。临时绕过:终端执行
xxd -g1 yourfile.bin | subl -(需已装xxd),把预处理后的 hex 文本导入 Sublime 查看 - 注意:
HexViewer不支持编辑。想改字节?必须用HxD(Windows)、Bless(Linux)或xxd + vim流程,否则保存会破坏二进制结构
真正容易被忽略的是:HexViewer 的 View in Hex 和 Toggle Hex Mode 是两个不同命令。前者从外部文件加载,后者只对当前已打开的(且 Sublime 能勉强读入的)文件切换视图——对大多数二进制文件,后者根本不会生效。









