Windows에서 gVim을 사용하고 있습니다. 내 코드는 ^M
줄 끝에 문자를 표시 합니다. 나는 :set ff=dos
소용이 없었습니다. ^M
문자는 기존 라인에 대한 남아 있지만 내가 입력 줄 바꿈에 대한 표시되지 않습니다. 모드를 mac ( ^J
문자 표시)과 unix ( ^M
문자 도 표시 )로 전환하고 다시 dos로 전환했습니다. 다른 사람이 본 적이 있습니까?
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
:%s/^M//
:set ff=dos
완료했을 때 할 일이 되길 원한다면 에반의 대답을 추가해야합니다 .
나는 보통 다음을 사용하여 줄 끝을 정리합니다.
:g/^M$/s///
ctrl-M을 얻으려면 일반적으로 ctrl-Q를 입력 한 다음 ctrl-M을 입력하고 입력합니다. (일부 환경에서는 ctrl-V 다음에 ctrl-M이 될 수 있습니다.) 이유는 모르겠지만, rq 보다 기억하기 쉽습니다 .
잊지 마세요. 그렇지 않으면 :set ff=dos
여전히 UNIX 줄 끝으로 저장됩니다.
이 문자는 무시할 수 있습니다!
이것을 vimrc에 넣으십시오.
일치 무시 / \ r $ /
Windows 7에서 Vim 7.3을 실행 중입니다. 다음 명령을 사용했습니다.
:%s/^M/\r/g
Ctrl + Q를 누른 다음 CTRL + M에 입력 한 ^ MI를 만들려면
이것은 아마도 많은 사람들에게 약간 간단하지만 기회가 없으면 유용합니다.
richq의 답변에 따라 vimrc에서 유용하다는 것을 알았습니다. 두 번째 것은 Vim이 매핑 된 ex 명령 인 경우 다른 키 입력이 작동 할 때까지 기다릴 것이기 때문에 dd를 약간 혼란스럽게 만들기 때문에 일반적으로 주석 처리됩니다.
함수! D2u () '% s / \ r \ (\ n \) / \ 1 / g'실행 끝 기능 "맵 d2u : % s / \ r \ (\ n \) / \ 1 / g
첫 번째는 call D2u()
ex 에 입력하여 실행되고 두 번째 D2u
는 편집 모드에서 를 눌러 실행 됩니다.
많은 것을 시도했지만 다음은 작동했습니다.
:%s/\r/\r/g
참고 : 전체 파일에 효과를 적용 하려면 g를 사용하십시오.