我有一个相当大的二进制文件(几十 MB),并且想在中间的某个地方删除几 KB,它夹在中间的数据不是开头也不是结尾。
理想情况下,我想使用 emacs,而 hexl-mode 似乎是一个可能的候选者。
是否可以从十六进制缓冲区中删除一行?Ctrl-k似乎没有完成这项工作。我很高兴查看代码,但无论出于何种原因寻找 hexl-mode.el 我发现的只是我的 Ubuntu 10.04 机器 Emacs 23.1 上已编译的 .elc 文件。
另外:偷偷摸摸地,我想添加另一个与标题中的问题没有直接关系的十六进制模式问题,但它是我面临的完整问题的一部分:如果我可以每行显示 X 个十六进制字符,其中 X 显然会随着我正在编辑的二进制文件的格式而改变,我找不到用十六进制模式来做到这一点的方法,我想我会在这里抛出这个问题。
问候 Emacsers
我在“Ubuntu 10.04.1 LTS”上运行 GNU Emacs 23.1.1 并且我在标准 Linux 内核源代码(vanilla)上使用内置 Mx rgrep 执行的任何搜索过早结束,以下错误打印到 emacs echo区域:
Grep exited abnormally with code 123
Run Code Online (Sandbox Code Playgroud)
我已经在 Redhat 系统上看到它一段时间了,还有其他(大型)代码库,有没有人看到或者更好地解决这个问题?
谢谢!
编辑:出于我以外的原因,stackexchange 不允许我在下面编辑我的评论,所以我会在这里更新。
按照下面的评论,我尝试运行 rgrep 在 emacs shell 缓冲区中运行的相同命令
find . \( -path \*/SCCS -o -path \*/RCS -o -path \*/CVS -o -path \*/MCVS -o -path \*/.svn -o -path \*/.git
-o -path \*/.hg -o -path \*/.bzr -o -path \*/_MTN -o -path \*/_darcs -o -path \*/\{arch\} \) -prune -o -type f \( -name \*.\[ch\] \) -p
rint0 …
Run Code Online (Sandbox Code Playgroud)