gpt4 book ai didi

Vim 修改文件(如果与 xxd 一起使用)

转载 作者:行者123 更新时间:2023-12-02 02:18:18 27 4
gpt4 key购买 nike

我试图了解 ID3 标签的工作原理,因此,在阅读了一些文档后,我开始查看一些 mp3 的原始数据。 Vim 通常是我选择的编辑器,因此,经过一番谷歌搜索后,我发现我可以使用 xxd 通过调用

来查看文件的十六进制表示形式
:%!xxd  

一切工作正常,但是当我用

将一切恢复正常时
:%!xxd -r  

然后退出,发现文件被修改了; vlc 无法再播放它,diff 告诉我文件不同。我以为我无意中修改了某些内容,但进一步的实验表明,即使打开文件并使用 xxd,然后使用 xxd -r 也会以某种方式更改文件。

这是为什么呢?我怎样才能防止它发生?我做错了什么吗?

最佳答案

显然,如果您不想对文件进行任何更改,您可以使用 :q! 退出 vim

正如 @RunHolt 指出的,vimxxd 可以更改二进制文件。例如将 LF 更改为 CRLF 或在文件末尾附加 LF 字符。

您可以通过设置binary选项来防止这种情况:

在将文件加载到缓冲区之前,可以按以下方式启动 vim:vim -b filename 或输入 :set binary

关于Vim 修改文件(如果与 xxd 一起使用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9896081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com