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.
@ Bon Ami: Niektóre programy podczas odczytywania pliku tekstowego potrzebują \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 ..
Peter.O
2
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
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.
Odpowiedzi:
Edytory uniksowe lubią
vi
ivim
zawsze umieszczają znaki nowej linii (\n
) na końcu każdej linii - szczególnie włączając ostatnią linię. Jeślieol
w 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ę wvim
edytorze; inni redaktorzy prawdopodobnie mają podobne flagi i powiadomienia.źródło
emacs
przeniesieniu kursora na koniec pliku (ostatni wiersz, po ostatnim znaku) i wykonaniukill-line
, w rzeczywistości usuwaszeol
.Że ostatni wiersz w pliku nie ma nowej linii (\ n)
źródło
\n
znaku 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, alewc
nie 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:znaczenie:
Uwaga: w Mac OX
^M is ctl+v && ctrl+m
źródło
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.
źródło