博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[Transfer][vim]在vim中显示16进制

Posted on 2010-02-23 13:41  xuczhang  阅读(957)  评论(0编辑  收藏  举报
一个真正的二进制编辑器用两种方式来显示文本: 二进制和十六进制格式。你可以在 Vim
里通过转换程序 "xxd" 来达到这效果。该程序是随 Vim 一起发布的。
首先以二进制方式编辑这个文件:

vim -b datafile
现在用 xxd 把这个文件转换成十六进制:

:%!xxd
文本看起来像这样:

0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.

现在你可以随心所欲地阅读和编辑这些文本了。 Vim 把这些信息当作普通文本来对待。
修改了十六进制部分并不导致可打印字符部分的改变,反之亦然。
最后, 用下面的命令把它转换回来:

:%!xxd -r
只有十六进制部分的修改才会被采用。右边可打印文本部分的修改忽略不计。

欲知更多详情,参见 xxd 手册。