Что означают эти знаки в Виме?
Мне трудно понять признаки, которые я вижу в своем текстовом редакторе Vim. Я вижу знаки типа ^@
и ^A
и ^M
и ^F
. Что это значит? Есть ли какой-либо структурированный список этих знаков и их значение?
Попытка Google - это тупик, поскольку Google не будет искать "^ @".
Ответы
Ответ 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. Эта статья может содержать дополнительную информацию.