Otworzyłem plik vimw systemie Ubuntu, a na dole ekranu wyświetla się:
"file.py" [noeol] 553L, 16620C
Co to noeoloznacza?
Otworzyłem plik vimw systemie Ubuntu, a na dole ekranu wyświetla się:
"file.py" [noeol] 553L, 16620C
Co to noeoloznacza?
Odpowiedzi:
Edytory uniksowe lubią vii vimzawsze umieszczają znaki nowej linii ( \n) na końcu każdej linii - szczególnie włączając ostatnią linię. Jeśli eolw ostatnim wierszu nie ma końca linii ( ), jest to niezwykła sytuacja, a plik z pewnością nie został utworzony przez standardowy edytor UNIX.
Ta niezwykła sytuacja została zauważona przez [noeol]flagę w vimedytorze; inni redaktorzy prawdopodobnie mają podobne flagi i powiadomienia.
emacsprzeniesieniu kursora na koniec pliku (ostatni wiersz, po ostatnim znaku) i wykonaniu kill-line, w rzeczywistości usuwasz eol.
Że ostatni wiersz w pliku nie ma nowej linii (\ n)
\nznaku końca linii, aby uznać go za wiersz zakończony (z końcowym znakiem nowego wiersza). Poniższy przykład pokazuje plik, który może wyglądać jak kompletna linia na pierwszy rzut oka w edytorze tekstu, ale wcnie uwzględnia go jako linii: printf "x">"file-no-newline"; wc -l <"file-no-newline"- Outpute to: 0 .. noeol jest tylko wizualną pomocą, aby poinformować cię o status ..
Oznacza to, że system operacyjny, w którym przeglądasz plik, nie jest w stanie wykryć końca linii pliku (jeśli plik w ogóle go ma). Czasami dzieje się tak, gdy przenosisz plik (i) w różnych systemach operacyjnych (tj. Z MS do * nix os)
W vimie, jeśli plik ma znak powrotu karetki Windows ” ^M", możesz to naprawić za pomocą następującego polecenia: w vim do:
:%s/^M/\r/g
znaczenie:
% => select the whole buffer
s => Search
/^M/ => find Windows Carrage return.
/\r/ => Replae it with *nix carrage return
Uwaga: w Mac OX ^M is ctl+v && ctrl+m
Jego „NO EOL” - wskaźnik końca linii . Bardzo pomocne, jeśli otworzysz bardzo duży plik (> 1 GB). Vim próbuje wyciągnąć to wszystko w 1 linii. Ten wskaźnik pomaga mi szybko zamknąć plik, zanim zepsuje mój system operacyjny.