[vim] 파일 모드가 명시 적으로 DOS 인 경우에도 캐리지 리턴 (^ M)을 표시하는 gVim

Windows에서 gVim을 사용하고 있습니다. 내 코드는 ^M줄 끝에 문자를 표시 합니다. 나는 :set ff=dos소용이 없었습니다. ^M문자는 기존 라인에 대한 남아 있지만 내가 입력 줄 바꿈에 대한 표시되지 않습니다. 모드를 mac ( ^J문자 표시)과 unix ( ^M문자 도 표시 )로 전환하고 다시 dos로 전환했습니다. 다른 사람이 본 적이 있습니까?



답변

이것은 Windows 라인 엔딩과 Unix 라인 엔딩이 혼합되어있을 때 발생합니다. 100 줄이 있고 99는 \ r \ n이고 하나는 \ n이면 99 ^ M 문자가 표시됩니다. 해결 방법은 한 줄을 찾아서 바꾸는 것입니다. 또는 파일에서 dos2unix를 실행하십시오. Windows 줄 끝을 다음으로 바꿀 수 있습니다.

:%s/\r\(\n\)/\1/g


답변

다음을 실행할 수도 있습니다.

:e ++ff=dos

제거하려면 ^M: 파일 형식 – Vim Tips Wiki를 참조하십시오 .


답변

나는 보통 다음을 사용하여 줄 끝을 정리합니다.

:g/^M$/s///

ctrl-M을 얻으려면 일반적으로 ctrl-Q를 입력 한 다음 ctrl-M을 입력하고 입력합니다. (일부 환경에서는 ctrl-V 다음에 ctrl-M이 될 수 있습니다.) 이유는 모르겠지만, rq 보다 기억하기 쉽습니다 .

잊지 마세요. 그렇지 않으면 :set ff=dos여전히 UNIX 줄 끝으로 저장됩니다.


답변

이미 답변을 받았지만 제가 사용하는 트릭은

:%s/\r/\r/g

이것은 unix 캐리지 리턴을 Windows CRLF로 대체합니다. 다른 사람이 문제가있는 경우를 대비하여 추가했습니다.


답변

이 문자는 무시할 수 있습니다!

이것을 vimrc에 넣으십시오.

일치 무시 / \ r $ /


답변

실제로 나를 위해 일한 것은 (64 비트 창, gVIM : 7.2) 다음과 같습니다.

:set ffs=dos

뿐만 아니라 : ff


답변

Windows 7에서 Vim 7.3을 실행 중입니다. 다음 명령을 사용했습니다.

:%s/^M/\r/g

Ctrl + Q를 누른 다음 CTRL + M에 입력 한 ^ MI를 만들려면