Подтвердить что ты не робот

Что означают эти знаки в Виме?

Мне трудно понять признаки, которые я вижу в своем текстовом редакторе Vim. Я вижу знаки типа ^@ и ^A и ^M и ^F. Что это значит? Есть ли какой-либо структурированный список этих знаков и их значение?

Попытка Google - это тупик, поскольку Google не будет искать "^ @".

4b9b3361

Ответ 1

Эти знаки являются управляющими символами. ^@ является символом NUL или 0, ^M является CR или символом 13 и т.д. То, что это означает, говорит о том, что вы смотрите только на более низкие 5 бит @, M или что-то еще.

ASCII-диаграмма, например. this поможет вам разобраться с большинством из них. Найдите персонажа, который вы видите в vim где-то на диаграмме, а затем его код находится в крайнем левом столбце.

Ответ 2

Когда вы увидите много двоичных символов в Vim, вы должны быть осторожны, чтобы правильно редактировать файлы и не повредить что-либо. Необычно обрабатывать текстовые файлы с большим количеством двоичных символов.

Вы пытаетесь отредактировать двоичный файл? Вы должны установить параметр Vims 'binary' перед загрузкой файла (или начать с vim -b), иначе Vim будет переводить символы новой строки и выполнять другие нежелательные преобразования.

Вы редактируете текстовый файл с неправильными символами новой строки? Симптомом этого является ^M или ^J символы, появляющиеся в конце ваших строк. Изучите параметры 'fileformat' и 'fileformats', чтобы помочь Vim сохранить файлы с соответствующими символами новой строки. Если вы используете контроль версий, вы можете поручить ему конвертировать новые строки на платформу и с нее, чтобы все были довольны.

Вы видите много символов ^@ (null)? Возможно, этот файл закодирован в UTF-16, и Vim не расшифровывает его правильно. Перезагрузите его с помощью :e ++enc=utf-16, например.

Чтобы узнать, какое значение представляет символ, поместите курсор над ним и введите ga.

Ответ 3

Если вы видите что-то вроде

^@F^@i^@l^@e

это представление NULL и, по-видимому, немного сложно выбраться из Vim. Эта статья может содержать дополнительную информацию.