如何在二进制文件上使用vim?

arknldoa  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(129)

vim -b记录为
-B二进制模式。将设置一些选项,使其能够编辑二进制或可执行文件。
但这对我不起作用。例如
echo "Unicode ☺☻☼☽☾☿♀♁♂♃♄♅♆♇♈♉♊♋♌♍" > testfile
将存储具有高位设置的许多字节(假设UTF-8终端)。od -a -t x1 testfile证实了这一点。
但是vim -u NONE -b testfile显示的是Unicode字符,而不是原始字节,所以实际上不可能编辑任意的二进制数据。
怎么啦?

mqkwyuun

mqkwyuun1#

怎么啦?
胡乱猜测。
首先,下面的句子并不意味着你的文件将以类似于xxd的十六进制编辑器模式打开:
将设置几个选项,以便可以编辑二进制或可执行文件。
从这句话中你所能得到的只是你可以“编辑一个二进制或可执行文件”,而不是你可以访问它的1、0和十六进制。
其次,“一些选项”是相当模糊的。所以挖掘一点似乎是个好主意。:help -b说:

Binary mode.  File I/O will only recognize <NL> to separate
lines.  The 'expandtab' option will be reset.  The 'textwidth'
option is set to 0.  'modeline' is reset.  The 'binary' option
is set.  This is done after reading the vimrc/exrc files but
before reading any file in the arglist.  See also
|edit-binary|.

它同样没有承诺编辑1、0或十六进制。
我不会粘贴链接的:help edit-binary的内容,但它也没有做出这种声明。
所以我们只剩下你的文件了,它是一个文本文件,而不是二进制文件。你的文本编辑器把它的内容当作文本处理也就不足为奇了。

相关问题