Я открыл файл с помощью vimUbuntu, и в нижней части экрана отображается следующее:
"file.py" [noeol] 553L, 16620C
Что noeolозначает?
Я открыл файл с помощью vimUbuntu, и в нижней части экрана отображается следующее:
"file.py" [noeol] 553L, 16620C
Что noeolозначает?
Ответы:
Редакторы Unix, такие как viи vimвсегда, будут помещать newlines ( \n) в конце каждой строки, особенно включая последнюю. Если eolв последней строке нет end-of-line ( ), это необычная ситуация, и файл наверняка не был создан стандартным редактором UNIX.
Эта необычная ситуация доведена до вашего сведения [noeol]флагом в vimредакторе; другие редакторы, вероятно, имеют похожие флаги и уведомления.
emacsперемещении курсора в конец файла (последняя строка после последнего символа) и выполнении kill-line, вы фактически удаляете eol.
Что в последней строке файла нет новой строки (\ n)
\nв конце строки, чтобы рассматривать его как завершенную строку (с завершающим символом новой строки). В следующем примере показан файл , который может выглядеть как полный линии на случайный взгляд в текстовом редакторе, но wcделает не condider это как линия: printf "x">"file-no-newline"; wc -l <"file-no-newline"- Outpute есть: 0 .. noeol просто визуальная помощь , чтобы вы знаете, статус ..
Это означает, что операционная система, в которой вы просматриваете файл, не может определить окончание строки файла (если он вообще есть). Иногда это происходит, когда вы перемещаете файл (ы) между операционными системами (например, из 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
Его «NO EOL» - нет конца строки индикатора. Очень полезно, если вы в конечном итоге откроете очень большой файл (> 1 ГБ). Vim пытается вытащить все это в 1 строку. Этот индикатор помогает мне быстро закрыть файл, прежде чем он испортит мою ОС.