Я відкрив файл за допомогою vimUbuntu, і внизу екрана відображається наступне:
"file.py" [noeol] 553L, 16620C
Що noeolвказує?
Я відкрив файл за допомогою vimUbuntu, і внизу екрана відображається наступне:
"file.py" [noeol] 553L, 16620C
Що noeolвказує?
Відповіді:
Редакторам Unix подобається viта vimзавжди розміщуватимуть нові рядки ( \n) в кінці кожного рядка, особливо включаючи останній рядок. Якщо немає кінця рядка (eol в останньому рядку ), то це незвичайна ситуація, і файл, безумовно, створений не стандартним редактором UNIX.
Ця незвичайна ситуація сповіщається [noeol]прапором у vimредакторі; інші редактори, ймовірно, мають подібні прапори та сповіщення.
emacs, переміщаючи курсор в кінець файлу (останнього рядка, після останнього символу) і виконати kill-line, ви на самому справі в кінцевому підсумку викреслювання eol.
В останньому рядку у файлі немає нового рядка (\ n)
\nв кінці рядка, щоб вважати його завершеним рядком (із заднім знаком нового рядка). У наступному прикладі показаний файл , який може виглядати як повний лінії на випадковий погляд в текстовому редакторі, але wcробить НЕ condider це як лінія: printf "x">"file-no-newline"; wc -l <"file-no-newline"- Outpute є: 0 .. noeol просто візуальна допомога , щоб ви знаєте, статус ..
Це означає, що ОС, де ви переглядаєте файл, не в змозі виявити закінчення рядка файлу (якщо файл взагалі є). Іноді це трапляється при переміщенні файлів (-ів) через ОС (i, e .. з MS до * nix os)
У vim, якщо файл має повернення каретки Windows " ^M", ви можете його виправити за допомогою наступної команди: in 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 Гб). Вім намагається витягнути все це в 1 рядок. Цей показник допомагає мені швидко закрити файл, перш ніж він прикрутить мою ОС.