Есть ли скрытое «n», добавляемое при создании файла vim?

#vim #base64

Вопрос:

когда я создаю файл vim с содержимым 12 , он показывает размер 3 байта, а не 2 байта

img1

так, я полагаю, здесь скрытый символ?
затем я использую его на основе 64, в результате получается, что на основе 64 MTIK 12n
не MTI= та правильная база 64 из 12

img2

Откуда это n взялось?

Комментарии:

1. Новая строка вообще не скрыта . хорошо видно, что приглашение после cat вывода находится в новой строке.

2. Если вы действительно хотите создать файл без этого последнего символа новой строки в последней строке, вы можете :set noeol затем :set binary и записать файл. Но я согласен с Армали, это не скрыто, это просто часть формата текстовых файлов, что последняя строка заканчивается символом новой строки (если вы не работаете на Mac).

3. @Armali. Я сказал , что это скрыто, потому что когда wc -l a.txt результат равен 1, а не 2. Я не знал end of line , что было раньше

4. @джоанис. да, теперь я наконец-то знаю.

Ответ №1:

Среди инструментов Unix принято заканчивать последнюю строку символом «конец строки», как правило LF ( 0x0A ), и ожидать, что этот символ будет здесь. nano делает это по умолчанию, echo делает это по умолчанию и т. Д.

Когда вы находитесь в Vim, вы можете сделать :set binary noendofline (или в короткой версии :set bin noeol ), чтобы сказать Vim пропустить конец LF при записи файла.

Смотрите :help 'binary' и :help 'endofline' для многих предостережений этих вариантов.