Co oznacza wskaźnik noeol na dole sesji edycji vima?

Odpowiedzi:

35

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.

Mei
źródło
Po emacsprzeniesieniu kursora na koniec pliku (ostatni wiersz, po ostatnim znaku) i wykonaniu kill-line, w rzeczywistości usuwasz eol.
Yeow_Meng
1
A niektóre usługi narzekają i narzekają i nie uruchamiają się z powodu błędów z powodu braku EOL na EOF
ivanivan
20

Że ostatni wiersz w pliku nie ma nowej linii (\ n)

gulasz
źródło
2
@ 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

Uwaga: w Mac OX ^M is ctl+v && ctrl+m

Zee
źródło
-4

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.

Srikar Appalaraju
źródło
2
Jestem prawie pewien, że nie to oznacza ta flaga ...
czterokrotnie