파일 끝에 새 줄을 추가하지 마십시오


11

Vim은 저장할 때 항상 파일 끝에 새 줄을 추가하여 PHP 스크립트에서 오류를 발생시킵니다.

vim이 저장시에이 새로운 줄을 추가하지 않게하려면 어떻게해야합니까?


7
"PHP 스크립트에서 오류가 발생했습니다" -> 이상합니까? PHP는 후행 줄 바꿈으로 잘 작동합니다. 실제로 이것은 거의 표준입니다. 아마도 ?>PHP가 브라우저에 출력 한 후에 빈 줄이있을 것입니다 ( "이미 보낸 헤더"오류로 인해)? 후행이 필요하지 않으며 ?>일반적 으로이 문제를 정확하게 방지하기 위해 그대로 두는 것이 좋습니다.
Martin Tournoij

오해의 소지가 있다고 생각합니다. Google 스크립트는 모든 출력을 오류로 해석합니다.
Dan


1
아니요. Vim은 새 줄을 추가하지 않습니다.
romainl

답변:


11

이것은 완전한 빈 줄이 아니며 마지막 줄 끝의 마지막 줄 바꿈입니다. Vim의 유산과 같은 유닉스 도구는이를 추가 할 것을 요구하지만 Windows 운영 체제는 그렇게 엄격하지 않습니다. 당신은 더 많은 것을에 읽을 수있는 파일이 개행 문자로 끝나야합니다 왜?

불행히도 Vim이 최종 개행을 작성하지 못하게하는 것은 매우 복잡합니다. 내 PreserveNoEOL 플러그인 이이를 수행 할 수 있습니다. 접근 방식에 대한 설명은 VIM 파일 끝에서 자동 줄 바꾸기 비활성화를 참조하십시오 .


미래 독자들 에게이 답변은 당시에이 답변이 훌륭했지만 최신 버전의 Vim에서는 나중에 게시 된 답변에 훨씬 간단한 해결책 이 있음을 지적했습니다 .
Rich

11

새로운 버전의 Vim에는 마침내 이것에 대한 옵션이 있습니다.

Vim 7.4.785는 파일 끝에 누락 된 EOL을 자동으로 보존하기 위해 비활성화 할 수있는 'fixeol'옵션을 추가합니다.

(wiki 페이지 : http://vim.wikia.com/wiki/Do_not_auto-add_a_newline_at_EOF 참조 )

당신의에서 ~/.vimrc이 줄을 추가합니다 :

set nofixeol

다시 시작합니다 vim. 이제 파일 끝에 줄 바꿈을 추가하지 않아야합니다.

(vim 버전 7.4.785 이후에만 작동)


0

이진 모드에서 파일을 열어 보셨습니까? 시도하십시오 vim -b file_name. 파일 끝에 새 줄을 추가해서는 안됩니다.


이 작업을 시도한 다음 xxd확인을 위해 사용 했지만 여전히 0a이진 모드에서도 줄 바꿈 ( )을 추가 합니다.
James
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.