0

我知道我们可以用 vi/vim 十六进制编辑文件,使用命令%!xxd(call *nix hex dump) 和%!xxd -r(exit *nix hex dump)。

问题是,如果我在十六进制代码区域进行一些十六进制编辑,则在 ascii 代码区域中没有显示相应的光标,反之亦然。

相比之下,使用ghex编辑文件时,有两个光标,一个是当前编辑操作,另一个显示在另一个面板中的对应位置。

例如,如果一个文本文件包含一个字母“f”,而我正在使用 ghex 对其进行编辑,当我将光标移动到 hex 时,右侧面板中的光标将显示当前要编辑的字符为“f”左侧面板中的值 0x66。

vi/vim/xxd中是否已经存在这个功能,但我没有发现?

4

1 回答 1

3

我们很清楚,xxd不是 vim 命令;它是一个与十六进制转储进行转换的外部程序。该命令的%!xxd意思是“运行外部程序xxd,通过 将这个文件的内容传递给它stdin,并用结果替换文件的内容。”

由此,我希望你明白你没有使用 vim 的一些特殊模式来编辑这些十六进制转储。十六进制转储只是您看到的文本,您正在将其作为普通文本文件进行编辑。

vim 可能有一些扩展,它提供了您正在寻找的功能(我看起来不是很努力),但在回答您的问题时,没有内置功能可以做到这一点。

于 2012-11-12T20:39:01.647 回答