Что такое карет-ат (^ @)?
Это нулевой символ (control- @ или ASCII 0), который emacs отображает как ^@
.
Почему он отображается только в первой строке?
Потому что cryptest
выводит их в этот момент.
Большинство символов являются печатными символами: когда они появляются в буфере, они отображаются буквально на экране. Печатные символы включают цифры ASCII, буквы и знаки пунктуации, а также множество не-ASCII символов.
Набор символов ASCII содержит непечатные управляющие символы. Два из них отображаются специально: символ новой строки (кодовая точка Unicode U+000A) отображается при запуске новой строки, а символ табуляции (U+0009) отображается как пробел, который простирается до следующего столбца табуляции (обычно каждые 8 колонок). Количество пробелов на вкладке контролируется локальной буферной переменной tab-width, которая должна иметь целочисленное значение от 1 до 1000 включительно. Обратите внимание, что способ отображения символа табуляции в буфере не имеет ничего общего с определением TAB в качестве команды.
Другие управляющие символы ASCII, чьи коды меньше U+0020 (восьмеричное 40, десятичное 32), отображаются в виде символа вставки (^
), за которым следует неуправляемая версия символа с гранью escape-глифа. Например, символ управления+A , U+0001, отображается как ^A
Источник 14.19 Как отображается текст