ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在vim中显示并编辑十六进制

在vim中显示并编辑十六进制

Linux操作系统 作者:T1YSL 时间:2022-05-25 14:15:39 0 删除 编辑

你可以在vim中可以把文件转换为16进制来显示:

:%!xxd

解释:把所有的行(%)用本地(!)的xxd程序打开。

xxd本是linux下一个显示、编辑、转换二进制的命令。

返回正常显示:

:%!xxd -r

注意:vim的-b选项是告诉vim打开的是一个二进制文件,不指定的话,会在后面加上 0x0a ,即一个换行符。

首先以二进制方式编辑这个文件: 

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 -g 1 表示每1个字节为1组

:%!xxd -g 2 表示每2个字节为1组(默认)

:%!xxd -g 4 表示每4个字节为1组

:%!xxd -r 将vim恢复成原来的显示

man xxd可以获得xxd的帮助文件


最后, 用下面的命令把它转换回来:


:%!xxd -r


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



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69990629/viewspace-2896929/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
中国开源软件推进联盟PG分会系列技术丛书《快速掌握PostgreSQL版本新特性》一书副主编。数据库技术专家。数据库认证讲师、恩墨学院数据库讲师。擅长MySQL数据库、PostgreSQL等开源数据库。拥有MySQL-OCP 、PostgreSQL-PGCM等数据库认证。

注册时间:2020-12-12

  • 博文量
    152
  • 访问量
    160707