linux vim 16进制显示有错误, 查看编辑二进制文件时,务必加 -b 参数
今天需要看16进制文件,调试中发现不对劲,经过多方对比,发现问题出 Vim 打开二进制文件时,需要加 -b 参数。
vim test.bin
:%!xxd //显示16进制
0000000: 0300 0800 3c0d 0000 0100 1c00 8805 0000 ....<...........0000010: 2700 0000 0000 0000 0000 0000 b800 0000 '...............0000020: 0000 0000 0000 0000 1a00 0000 3400 0000 ............4...0000030: 4000 0000 4e00 0000 5a00 0000 6800 0000 @...N...Z...h...0000040: 8600 0000 9800 0000 f000 0000 f400 0000 ................0000050: 0601 0000 1a01 0000 2e01 0000 5601 0000 ............V...0000060: 7001 0000 8401 0000 9a01 0000 b801 0000 p...............0000070: c801 0000 0002 0000 1402 0000 5802 0000 ............X...0000080: 8402 0000 b402 0000 d202 0000 f402 0000 ................0000090: 1603 0000 3803 0000 5a03 0000 7803 0000 ....8...Z...x...00000a0: 8c03 0000 a203 0000 e603 0000 fe03 0000 ................00000b0: 1404 0000 3604 0000 7004 0000 ba04 0000 ....6...p.......
按 short 显示, 超过 7ffff的数据都会显示错误
如果需要编辑,只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。