vim이 DOS 줄 끝으로 파일을 만드는 이유는 무엇입니까?


15

나는 가지고있다

set fileformat=unix

내 ( .vimrc하지만 vimCygwin 에서 실행)에서 파일을 만들면 DOS 형식 파일이 계속 생성되므로 파일 dos2unix을 정리하기 위해 파일을 실행해야 합니다. (난 정말하지 않는 생각 망할 놈이 나를 위해 그들을 정리 이후에,하지만 특히 유닉스 라인 엔딩을 사용하도록 지시 한 유닉스 텍스트 편집기, 여분의 쓰레기로 오염되어 죽음에 그것은 단지 버그 나 .)

왜 이런 일이 일어날까요? 어떻게 고칠 수 있습니까? (그리고 "수정" 이라는 말은 각 파일을 개별적으로 변환해야하는 것을 의미 하지는 않습니다 . 그건 수정이 아닙니다. 그것이 완전히 고장난 것입니다.)


나는 이것이 cygwin 문제입니다. cygwin에는 줄 끝 스타일을 선택하는 옵션이 있지만 실제로 작동하는 증거는 보지 못했습니다. 우리 대학은 GNU 컴파일러 컬렉션에 cygwin과 함께 Eclipse를 사용하고 이상한 행동을 getline하는 cygwin으로 밝혀졌습니다. 결과적으로 CR+LF유닉스 대신 LF또는 스타일을 만들었습니다 LF+CR. cygwin에서 YMMV를 구성한 줄 끝 스타일을 확인하고 확인해야합니다. 참조 cygwin.com/faq/faq-nochunks.html#faq.api.cr-lf

@Matt : DOS / Windows는 CR+LF아닌을 사용 LF+CR합니다.
echristopherson

다시 한 번 확인하지 않으면 그 문제를 겪은 후 한 학기 동안 교환을 할까봐 두려웠습니다. cygwin에서 실행할 때와 dos 프롬프트에서 실행할 때 줄 끝이 달랐으며 DOS에서 기대했던 것에서 거꾸로 나왔음을 알았지 만 알 수 있듯이 전환하기가 쉽습니다.
Matt

이 .vimrc를 읽었습니까? 의도적 인 오류를 시도하고 vim이 발생하는지 확인하십시오.
CVn

@ MichaelKjörling : 예, 테스트를 거쳤으며 읽었습니다. 나는 내 set number라인을 주석 처리하고 적용하고 주석 처리를 제거하여 적용했습니다. 또한 하단에 "blah blah blah"를 추가하고 아무것도 열 때 "Enter ENTER 또는 type command to continue"라는 메시지가 표시되었지만 그 이전에는 오류 메시지가 없었습니다 (검은 색 바탕에 검은 색 문자가 아닌 경우).
iconoclast

답변:


21

fileformat몇 가지 요인에 따라 설정 만으로는 충분하지 않을 수 있습니다. 이 시도:

set fileformat=unix
set fileformats=unix,dos
"set nobinary

이들이하는 일을 이해하려면 :help fileformats등을 살펴보십시오 .

Windows 에서 vim.exe제공하는 git을 사용하여 문제를 재현 할 수 있다고 생각 합니다. 위의 설정을 사용하면 문제가 해결되었습니다. 이 예제에서는 set nobinary필요하다고 생각하지 않기 때문에 주석 처리되었습니다. 추가 조사가 필요한 경우 도움이 될만한 팁으로 남겨 두었습니다.

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