Что означает индикатор noeol в нижней части сеанса редактирования vim?

Ответы:

35

Редакторы Unix, такие как viи vimвсегда, будут помещать newlines ( \n) в конце каждой строки, особенно включая последнюю. Если eolв последней строке нет end-of-line ( ), это необычная ситуация, и файл наверняка не был создан стандартным редактором UNIX.

Эта необычная ситуация доведена до вашего сведения [noeol]флагом в vimредакторе; другие редакторы, вероятно, имеют похожие флаги и уведомления.

Mei
источник
При emacsперемещении курсора в конец файла (последняя строка после последнего символа) и выполнении kill-line, вы фактически удаляете eol.
Yeow_Meng
1
А некоторые сервисы жалуются, не жалуются и не запускаются из-за ошибок из-за отсутствия EOL на EOF
ivanivan
20

Что в последней строке файла нет новой строки (\ n)

тушеное мясо
источник
2
@Bon Ami: Некоторые программы при чтении вашего текстового файла нуждаются \nв конце строки, чтобы рассматривать его как завершенную строку (с завершающим символом новой строки). В следующем примере показан файл , который может выглядеть как полный линии на случайный взгляд в текстовом редакторе, но wcделает не condider это как линия: printf "x">"file-no-newline"; wc -l <"file-no-newline"- Outpute есть: 0 .. noeol просто визуальная помощь , чтобы вы знаете, статус ..
Peter.O
2

Это означает, что операционная система, в которой вы просматриваете файл, не может определить окончание строки файла (если он вообще есть). Иногда это происходит, когда вы перемещаете файл (ы) между операционными системами (например, из MS в * nix os)

В vim, если файл имеет возврат каретки Windows " ^M", вы можете исправить это с помощью следующей команды: в vim do:

:%s/^M/\r/g

смысл:

%      => select the whole buffer
s      => Search
/^M/   => find Windows Carrage return.
/\r/   =>  Replae it with *nix carrage return

Примечание: в Mac OX ^M is ctl+v && ctrl+m

зет
источник
-4

Его «NO EOL» - нет конца строки индикатора. Очень полезно, если вы в конечном итоге откроете очень большой файл (> 1 ГБ). Vim пытается вытащить все это в 1 строку. Этот индикатор помогает мне быстро закрыть файл, прежде чем он испортит мою ОС.

Срикар Аппалараджу
источник
2
Я уверен, что это не то, что означает этот флаг ...
fouric