hexviewer是sublime text唯一稳定查看二进制文件的插件,但仅支持只读查看、不支持编辑,且必须通过hexviewer: view in hex命令手动打开文件,因其绕过文本加载流程直接读取原始字节流。

HexViewer 插件是 Sublime Text 唯一能稳定查看二进制文件的方案,但它不支持编辑,也不能双击打开——必须手动触发命令,否则看到的只是空白、乱码或 Error loading file: invalid start byte。
怎么确认 HexViewer 真装对了
很多人以为搜到“HexViewer”就完事,其实关键看命令名是否完整且带冒号:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入HexViewer - 必须出现
HexViewer: View in Hex或HexViewer: Toggle Hex Mode—— 其他如hexviewer(小写)、Hex Editor、HexView都不是 facelessuser 的正版 - 安装后务必执行一次
Package Control: Satisfy Dependencies,否则插件可能静默失效 - 若命令仍不出现,运行
Package Control: Reload Package强制重载,不用重启 Sublime
为什么 HexViewer: View in Hex 是唯一可靠入口
HexViewer: Toggle Hex Mode 只对已成功加载为文本的文件生效;而二进制文件(尤其含 \x00 或非法 UTF-8 头部)根本无法被 Sublime 正常加载——它要么报错,要么显示为空白页。此时 Toggle 无目标可作用。
View in Hex 绕过 Sublime 的文本加载流程,直接读取原始字节流:
- 先按
Ctrl+N新建空白页(或打开任意文本文件) - 调出命令面板,输入并执行
HexViewer: View in Hex - 在弹出的系统文件对话框中手动选中目标文件(如
firmware.bin) - 双击、右键“用 Sublime 打开”、拖入窗口等常规方式全部无效
大文件打不开?改 max_file_size 和预处理
默认上限是 10MB,但很多固件开头是 \x00\x00\x9f 这类非法 UTF-8 前缀,导致解析中断,现象是标签页空白或报 invalid start byte:
- 菜单进入
Preferences → Package Settings → HexViewer → Settings - 在用户设置中添加:
"max_file_size": 104857600(即 100MB) - 保存后执行
Package Control: Satisfy Dependencies或Package Control: Reload Package - 仍失败?用终端验证数据可读性:
xxd -g1 yourfile.bin | head -n 10看前几行是否正常输出 - 超过 50MB 的文件建议放弃
HexViewer,改用xxd -g1 file.bin > file.hex,再用 Sublime 打开file.hex编辑文本形式的 hex
别信“编辑十六进制”的幻觉
HexViewer 显示的是字符串形式的 hex(比如把字节 0x48 显示为字符 "48"),不是字节流本身。你在里面改了 "48" 再保存,实际写入的是两个 ASCII 字符 '4' 和 '8',而非一个字节 0x48——结果必然是文件损坏。
真正要修改单字节、打补丁、分析 PE/ELF 或改游戏存档时:
- Windows 用
HxD(免费、直观、支持结构化视图) - Linux/macOS 用
Bless或xxd + vim(xxd file.bin | vim -,编辑后xxd -r还原) - VS Code 配合官方
Hex Editor扩展(支持编辑、比较、大文件优化)
Sublime 的角色只能是快速 inspect,它的右下角始终显示只读状态,这点容易被忽略。











