vim 편집 세션의 맨 아래에있는 noeol 표시기는 무엇을 의미합니까?


답변:


35

유닉스 편집자 좋아 vi하고 vim항상 (줄 바꿈을 넣어 \n모든 라인의 끝에서) - 특히 마지막 줄에 포함된다. eol마지막 줄에 줄 끝 ( ) 이 없으면 비정상적인 상황이며 파일이 표준 UNIX 편집기에서 생성되지 않은 것입니다.

이 비정상적인 상황은 편집기 의 [noeol]플래그에 의해 통지됩니다 vim. 다른 편집자들은 비슷한 플래그와 알림을 가지고있을 것입니다.


에서 emacs(마지막 문자의 마지막 줄) 파일의 끝으로 커서를 이동 및 실행 kill-line, 당신은 실제로 삭제 결국 eol.
Yeow_Meng

1
일부 서비스는 EOF에 EOL이 없기 때문에 오류로 인해 불만이 제기되고 시작되지 않습니다.
Ivanivan

20

파일의 마지막 줄에 줄 바꿈이 없습니다 (\ n)


2
@Bon Ami : 일부 프로그램은 텍스트 파일을 읽을 때 \n줄 끝에서 줄 바꿈 문자를 사용하여 완성 된 줄로 간주해야합니다. 다음 예제는 텍스트 편집기에서 한 눈에 완전한 라인 처럼 보일 수 있지만 파일을 라인으로 혼동 wc하지는 않는 파일을 보여줍니다 . printf "x">"file-no-newline"; wc -l <"file-no-newline"-Outpute is : 0 .. noeol 은 시각적 인 도움으로 status ..
Peter.O

2

이는 파일을 보는 OS가 파일의 줄 끝을 감지 할 수 없음을 의미합니다 (파일이있는 경우). OS에서 파일을 이동할 때 발생하는 경우가 있습니다 (예 : MS에서 * nix os로).

vim에서 파일에 windows 캐리지 리턴 " ^M"이있는 경우 다음 명령으로 파일을 수정할 수 있습니다. vim에서 :

:%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


-4

그것의 'NO EOL'- 라인의 끝이 표시. 매우 큰 파일 (> 1GB)을 열면 매우 유용합니다. Vim은이 모든 것을 한 줄로 끌어 내려합니다. 이 표시기는 OS를 망가 뜨리기 전에 파일을 빠르게 닫는 데 도움이됩니다.


2
나는
이것이이
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.