HexViewer 命令不出现需认准 facelessuser 官方插件、执行 Satisfy Dependencies 补全依赖、用 HexViewer: View in Hex 命令打开二进制文件(非双击),并正确配置 max_file_size 和 binary_file_patterns。

HexViewer 命令面板里没出现 HexViewer: View in Hex 怎么办
装了插件却找不到命令,90% 是因为没装对版本或依赖没拉齐。Sublime 不会自动报错,只会静默失效。
- 必须认准 GitHub 作者
facelessuser的HexViewer(仓库名就是HexViewer),别选Hex Editor、HexView或拼写近似的其他包 - 安装后立刻执行
Package Control: Satisfy Dependencies——否则python-magic等底层依赖缺失,插件根本不会注册命令 - 不需重启 Sublime,但若命令仍不出现,可执行
Package Control: Reload Package强制重载插件环境 - 按
Ctrl+Shift+P输入HexViewer,只看到Hex View或Toggle Hex Mode都不算成功;必须出现带冒号的完整命令HexViewer: View in Hex
双击 .bin 文件打不开,或者打开后是空白/乱码
这不是文件损坏,是 Sublime 默认拒绝加载含 \x00 或非法 UTF-8 字节的文件。它压根不会尝试解析二进制,更不会自动跳转 hex 视图。
- 绝对不要用
File → Open、双击、拖入窗口等方式打开二进制文件——这些路径全部绕过 HexViewer 的字节流读取逻辑 - 正确流程:先按
Ctrl+N新建空白页 →Ctrl+Shift+P→ 输入并执行HexViewer: View in Hex→ 手动选中你的firmware.bin或test.exe - 如果已打开一个文本文件(比如
log.txt),插件可能因上下文误判而跳过解析;临时把目标文件重命名为test.bin再试,能绕过 Sublime 对扩展名的文本白名单限制 -
HexViewer: Toggle Hex View只对「已被 Sublime 成功加载为文本」的文件生效,纯二进制文件根本没加载成功,这个命令形同虚设
max_file_size 和 binary_file_patterns 怎么调才有效
默认配置对二进制文件过于保守,不改就卡死或空白。但改错位置或加错项反而会让插件失效。
-
"max_file_size": 104857600(即 100MB)要加在HexViewer.sublime-settings里,不是用户 Settings;否则 >10MB 文件直接加载失败或中断 -
"binary_file_patterns": ["*.bin", "*.elf", "*.so", "*.dll"]必须加到Preferences → Settings – User(用户 Settings),不是 HexViewer 设置;它只影响新打开的匹配后缀文件,已有标签页需手动重载 - 删掉
"enable_hexadecimal_encoding": true这类伪配置项——Sublime 官方从未实现该设置,加了不仅无效,还可能干扰插件行为 - 注意:Sublime 实际靠文件头(magic bytes)判断是否为二进制,
.txt文件开头是\x00\x01也可能被当成 binary;反之,全 ASCII 的.bin可能被忽略
为什么改完 hex 视图再保存会损坏文件
HexViewer 从设计上就是只读的。你看到的 48656C6C6F 是字符串,不是字节;保存时 Sublime 把它当普通文本写入,而非对应字节序列。
- 任何在 hex 视图中直接修改并保存的行为,都会将十六进制字符串(如
61)写成两个 ASCII 字符'6'和'1',而非单字节\x61 - 这不是 bug,是底层限制:Sublime 没有真正的二进制编辑能力,所有 buffer 都走文本 pipeline
- 真要编辑二进制(比如 patch PE 文件、改固件头),必须换工具:
xxd + vim、HxD、010 Editor或 VS Code 的Hex Editor扩展 - HexViewer 的价值只在快速查看结构:左侧地址 + 中间 16 字节 hex + 右侧 ASCII(不可见字符显示为
.),别把它当编辑器用


















