Sublime Text 本身不支持十六进制查看,HexViewer 插件仅支持只读查看,无法编辑二进制文件——这是底层设计限制;必须安装 facelessuser 版本,通过命令面板确认出现“HexViewer: View in Hex”等命令,并手动触发打开二进制文件,不可双击或依赖自动识别。

Sublime Text 本身不支持十六进制查看,HexViewer 插件只能只读查看,不能编辑二进制文件——这不是配置问题,是底层设计限制。
怎么确认 HexViewer 真装对了
很多人以为装完就能用,结果命令面板里搜 HexViewer 什么也不显示。核心原因是:没认准作者、没等包列表加载、或依赖没就绪。
- 必须安装 facelessuser 版本,GitHub 项目名就是
HexViewer(驼峰,无空格,别选Hex Editor或HexView) - 按
Ctrl+Shift+P→ 输入Package Control: Install Package→ 回车 → 等几秒让列表完全加载完再搜HexViewer - 安装后立刻执行一次
Package Control: Satisfy Dependencies,否则插件可能静默失效 - 验证方式:再按
Ctrl+Shift+P,输入HexViewer,至少看到HexViewer: View in Hex或HexViewer: Toggle Hex View
为什么双击 .bin/.exe 文件打不开,以及正确打开流程
Sublime 默认拒绝加载含 \x00 或非 UTF-8 字节的文件,双击只会显示空标签页、报 Error loading file,或直接静默失败。它不会自动识别二进制类型,也没有右键菜单入口。
- 正确路径是:先打开一个空白文件(
Ctrl+N),再按Ctrl+Shift+P→ 输入HexViewer: View in Hex→ 弹出系统对话框 → 手动选你的firmware.bin - 如果已打开一个文本文件(比如
log.txt),插件可能跳过解析;可临时把文件重命名为test.bin再试,绕过 Sublime 的扩展名文本白名单 -
HexViewer: Toggle Hex View是切换当前已打开文件的视图,但前提是该文件已被 Sublime 成功加载为文本——对纯二进制无效,别指望它对刚双击打开的乱码标签页起作用
为什么改了 hex 还是不能保存回原始格式
你在 Hex 视图里把 48656C6C6F 改成 48656C6C6F00,保存后得到的是 10 个 ASCII 字符,不是 6 个字节的 0x48 0x65 0x6C 0x6C 0x6F 0x00。文件必然损坏。
- HexViewer 输出的是字符串形式的十六进制表示,不是原始字节流
- 右下角状态栏会明确显示
Hex Viewer (read-only),没有Save as Binary或Apply to Original File功能 - 想真正编辑二进制?必须用
HxD(Windows)、Bless(Linux)、010 Editor,或走xxd -r还原流程 - Sublime 内置 Python 控制台倒是可以快速验证单个字符的 hex 值,比如输入
",".join([hex(ord(c)) for c in "hello"])
真正容易被忽略的点是:HexViewer 不监听文件打开事件,也不自动识别二进制——它必须手动触发,且对当前文件状态极其敏感。空文件、全 ASCII 可见字符、或 Sublime 内部标记为 text.plain 的文件,都会被它直接拒绝处理。

















