Emacs 在hexl模式下复制节

Emacs 在hexl模式下复制节,emacs,hex-editors,Emacs,Hex Editors,在emacs中使用hexl模式查看二进制文件时,是否有方法将节复制并粘贴到另一个文件中 我已经用标准的C-Spc进行了尝试,选择了一个地区,M-w 但将其粘贴到新文件中会将整个内容视为普通文本,也就是说,我得到的文本文件看起来像很多这样: 000159a0: 6e00 1295 00e0 3400 0a51 0942 0701 1295 n.....4..Q.B.... i、 它是文本的文本副本,而不是复制它所表示的二进制数据 我要做的是复制一个节,将它粘贴到一个新文件中,这样我就可以得到该

在emacs中使用
hexl模式
查看二进制文件时,是否有方法将节复制并粘贴到另一个文件中

我已经用标准的
C-Spc
进行了尝试,选择了一个地区,
M-w

但将其粘贴到新文件中会将整个内容视为普通文本,也就是说,我得到的文本文件看起来像很多这样:

000159a0: 6e00 1295 00e0 3400 0a51 0942 0701 1295  n.....4..Q.B....
i、 它是文本的文本副本,而不是复制它所表示的二进制数据

我要做的是复制一个节,将它粘贴到一个新文件中,这样我就可以得到该节的二进制表示

换句话说,我希望能够从原始二进制文件的部分生成新的二进制文件,使用hexl模式查看原始二进制文件


希望这是有意义的。

这听起来很酷,但不幸的是,
hexl模式不能做到这一点。您可以做的下一件最好的事情是使用
头和
尾来剪辑文件,例如将
file.txt从000002a0拉到00000340,您可以运行

head file.txt -c $((0x00000340)) | tail -c +$((0x000002a0)) | xclip -sel c

很好,我还注意到,您可以在hexl模式下搜索字节位置,然后如果退出hexl模式(返回到基本模式),光标将保持在该位置,如果您想从那里复制到文件的末尾,这很有用,因为您可以根据需要剪切和粘贴,这也是我第一次听说xclip-它太棒了!让我印象深刻的是,有人在elisp中有一半的能力可以将shell片段转换为非常方便的emacs函数,不幸的是,我在elisp中有一半的能力,我已经编写了一个名为
hexl copy region
的函数,它完全按照您的要求执行:它只需进入和退出
hexl模式
,即可复制文本,就像你在第一篇文章中提到的。