파일 모드가 명시 적으로 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를 만들려면
이것은 아마도 많은 사람들에게 약간 간단하지만 기회가 없으면 유용합니다.
richq의 답변에 따라 vimrc에서 유용하다는 것을 알았습니다. 두 번째 것은 Vim이 매핑 된 ex 명령 인 경우 다른 키 입력이 작동 할 때까지 기다릴 것이기 때문에 dd를 약간 혼란스럽게 만들기 때문에 일반적으로 주석 처리됩니다.
함수! D2u () '% s / \ r \ (\ n \) / \ 1 / g'실행 끝 기능 "맵 d2u : % s / \ r \ (\ n \) / \ 1 / g
첫 번째는 call D2u()
ex 에 입력하여 실행되고 두 번째 D2u
는 편집 모드에서 를 눌러 실행 됩니다.
이들은 일반적으로 혼합 된 UNIX / DOS 시스템에서 파일을 사용하기 때문에 추가 CR 행 끝입니다.
각 줄의 끝에서 하나의 ^ M을 제거하는 가장 짧은 대답은 다음과 같습니다.
:%s/\r
이는 다음과 같습니다.
:%s/\r//
그러나 끝 슬래시가 필요하지 않습니다 (가정).
많은 것을 시도했지만 다음은 작동했습니다.
:%s/\r/\r/g
참고 : 전체 파일에 효과를 적용 하려면 g를 사용하십시오.
'your programing' 카테고리의 다른 글
Rails, javascript가 link_to helper를 클릭 한 후로드되지 않음 (0) | 2020.10.15 |
---|---|
Django : 날짜 별 그룹화 (일, 월, 연도) (0) | 2020.10.15 |
파이썬에서 가장 짧은 스도쿠 솔버-어떻게 작동합니까? (0) | 2020.10.15 |
JavaScript 해시 맵은 어떻게 구현됩니까? (0) | 2020.10.15 |
컨트롤러의 UIView 터치 이벤트 (0) | 2020.10.15 |