То, что я хочу, довольно просто, так что, надеюсь, исправление довольно простое. Я хочу, чтобы любой файл, который я открываю в VIM, рассматривал каждый байт как символ низкого ASCII.
Я хочу, чтобы символ отображался нормально, если он соответствует одному из следующих критериев:
- Он имеет графическое представление (так что это не число, буква или пунктуация)
- Это символ новой строки, пробела или табуляции (горизонтальная табуляция, а не vtab)
В противном случае я хочу, чтобы каждый байт отображался в обычном формате Vim для непечатаемого двоичного байта (например, <02>
, ^H
, ^@
).
Примечание: этот вопрос похож / связан с этот вопрос , но я спрашиваю это снова здесь, потому что это более широко, это относится здесь, а не SO, и на этот вопрос не было удовлетворительных ответов.
С помощью xxd
для такого рода вещей кажется излишним.
Спецификация отображается в виде одного двухбайтового символа
—
Parthian Shot
<feff>
, что является совершенно неверным на нескольких уровнях (спецификация составляет три байта, поэтому она ошибочна в отношении длины, в соответствии с этим вопросом я хочу иметь возможность изменять каждый байт индивидуально, поэтому его представление бесполезно, а спецификация фактически 0xefbbbf
; это даже не содержит 0xff
поэтому представление вводит в заблуждение).
Пытался запустить Vim как
—
jcoppens
LANG=C; vim
? Это должно отключить все верхние ASCII.
@jcoppens Не игра в кости, но это хорошее предложение.
—
Parthian Shot
Что вы хотите, чтобы Vim делал с байтами, которые вообще не представлены в ASCII? Предложение использовать
—
Ben
:e ++enc=latin1
в связанном вопросе есть подход, который я бы использовал, но он показывает некоторый символ для байтов со значением, для представления которого требуется 8 бит, тогда как ASCII является 7-битной системой и, следовательно, вообще не может представлять эти символы. Если у вас действительно есть файл только с ASCII-представляемыми байтами, вы можете попробовать прочитать файл в кодировке ASCII (например, в Windows, cp20127), но это даст ошибку преобразования, если в файле есть что-то вроде спецификации.
binary
Режим ответа на этот вопрос (на данный момент последний) удовлетворительный?