[linux] vim에서 DOS 줄 끝을 Linux 줄 끝으로 변환

Windows에서 만든 파일을 열면 줄이 모두로 끝납니다 ^M.
이 문자들을 한 번에 어떻게 삭제합니까?



답변

DOS2UNIX는 이 작업을 수행하는 명령 줄 유틸리티입니다, 또는 :%s/^M//g당신이 사용하는 경우 Ctrlv Ctrlm입력 ^ M으로, 또는 당신은 할 수 :set ff=unix와 정력이 당신을 위해 그것을 할 것입니다.

‘fileformat’설정에 대한 문서가 여기 있으며 vim wiki에는 줄 끝 변환에 대한 포괄적 인 페이지가 있습니다 .

또는 파일을 많이 앞뒤로 이동하는 경우 파일을 변환하지 않고 대신 할 수 :set ff=dos있으므로 vim은 DOS 파일임을 알고 줄 끝에 DOS 규칙을 사용합니다.


답변

보기에서 줄 끝을 변경하십시오.

:e ++ff=dos
:e ++ff=mac
:e ++ff=unix

이것은 또한 저장 작업으로 사용될 수 있습니다 (: w 만 있으면 화면에 표시되는 줄 끝을 사용하여 저장하지 않습니다).

:w ++ff=dos
:w ++ff=mac
:w ++ff=unix

그리고 명령 행에서 사용할 수 있습니다 :

for file in *.cpp
do
    vi +':w ++ff=unix' +':q' "$file"
done


답변

나는 일반적으로 사용

:%s/\r/\r/g

조금 이상해 보이지만 vim이 줄 바꿈과 일치하는 방식으로 작동합니다. 나는 또한 기억하기가 더 쉽다는 것을 안다 🙂


답변

다음 명령을 사용하는 것이 좋습니다.

:set fileformat=unix

mac또는 dos파일을 각각 Macintosh 또는 MS-DOS / MS-Windows 파일 규칙으로 변환 할 수도 있습니다 . 파일이 이미 올바른 형식이면 아무 것도 수행하지 않습니다.

자세한 내용은 vim help를 참조하십시오.

:help fileformat


답변

:set fileformat=unix dos에서 unix로 변환합니다.


답변

:%s/\r+//g

Vim에서는 모든 캐리지 리턴을 제거하고 줄 바꿈 만 남겨 둡니다.


답변