ctrl+k m 是切换十六进制视图的唯一可靠入口;编辑时不可用退格删字节,须直接输入新值;ctrl+g 可快速跳转偏移量;复制前需选对格式以防编译错误;修改前应启用数据检查器验证语义。

Ctrl+K M 切换视图是唯一可靠入口
VS Code 原生不支持十六进制编辑,Hex Editor 插件必须显式激活——它不会随文件自动打开。很多人卡在“点了文件没反应”,其实是忘了手动触发。最稳的快捷键是 Ctrl+K M(Windows/Linux)或 Cmd+K M(macOS),按完会弹出命令选择框,输入 hex 回车即可切换当前文件到十六进制视图。右键菜单和 F1 输入 Hex: Open File 也行,但容易输错命令名;Ctrl+K M 是微软官方文档指定的快捷入口,兼容性最好,且不依赖焦点是否在资源管理器。
编辑时直接输入十六进制值,别用退格删字节
十六进制编辑不是文本编辑:你不能靠 Backspace 或 Delete 删除字节,那只会清空当前字节为 00,而非真正移除数据。正确做法是:鼠标单击 定位到目标字节(如 41),直接输入新值(支持 0x2A 或 42 格式);Shift+方向键 或 鼠标拖选 可多选连续字节,再统一输入覆盖。批量填相同值时,选中区域后敲数字即可——比如选中 4 字节后输入 FF,全部变成 FF FF FF FF。误操作后可用 Ctrl+Z 撤销,但注意:插件不保存跨会话历史,关窗口就丢撤销栈。
Ctrl+G 跳转偏移量比滚动快十倍
查 PE 文件头、ELF 段表或 PNG 签名时,靠滚动找 00 00 00 00 或 89 50 4E 47 效率极低。Ctrl+G 输入十进制或十六进制偏移量(如 0x100 或 256)能瞬移到目标位置。注意:偏移量从 0 开始计数,且插件默认显示的是文件起始处的绝对偏移,不是相对段偏移。如果查网络包或内存 dump,先确认你要跳的地址是文件内偏移还是虚拟地址——后者需结合调试器换算,Ctrl+G 只认前者。
复制数据前务必选对格式,否则粘贴进 C 代码会编译失败
右键复制时,默认是 Hex Octets(如 48 65 6C 6C 6F),适合发给同事看原始字节;但若要嵌入 C 代码,得切到 C 格式,输出变成 \x48\x65\x6C\x6C\x6F;Go 用 Go 格式(0x48, 0x65, 0x6C, 0x6C, 0x6F);JSON 场景选 JSON 格式("48656C6C6F")。漏选格式直接粘贴纯十六进制字符串进 C 源码,gcc 会报 invalid suffix 错误。另外,UTF-8 格式只对可打印 ASCII/UTF-8 有效,遇到 00 或控制字符会截断或乱码,别拿来还原二进制字符串。
真正难的不是快捷键本身,而是理解每个操作背后的数据语义:改一个字节可能让 PNG 失效,改两个字节可能让 ELF 头校验失败。每次修改前,用数据检查器(hexeditor.inspectorType 设为 aside)实时看当前选区解析成什么整数或浮点数,比凭感觉改更靠谱。











