수색…


비고

^M 문자는 Vim ( <cm> 또는 <CR> )에 캐리지 리턴을 나타냅니다. Vim은 파일의 적어도 온라인 라인이 LF 라인 끝을 사용할 때이 문자를 표시합니다. 즉, Vim이 파일 형식이 fileformat=unix 이지만 일부 줄에는 캐리지 리턴 ( CR )이있는 것으로 간주하면 캐리지 리턴은 ^M 으로 표시됩니다.

LF 줄 끝이있는 한 줄과 CRLF 줄 끝이있는 줄이있는 파일은 MSDOS 기반 시스템에서 만든 파일을 잘못 편집하면 생성되는 경우가 많습니다. 예를 들어 MSDOS 운영 체제에서 파일을 만들어 UNIX 기반 시스템으로 복사 한 다음 UNIX 기반 운영 체제의 도구를 사용하여 해시 뱅 (예 : #!/bin/sh )을 추가합니다.

DOS 텍스트 파일을 UNIX 텍스트 파일로 변환

아주 자주 DOS 나 Windows에서 편집 된 파일을 가지고 있으며 UNIX에서이 파일을보고 있습니다. vi로 파일을 볼 때 다음과 같이 보일 수 있습니다.

First line of file^M
Next Line^M
And another^M

^ M을 제거하려면 ^ M을 수동으로 삭제할 수 있습니다. 또는 Esc 를 누른 후 vi에서 명령 모드 프롬프트에 다음을 입력 할 수 있습니다.

:1,$s/^M//g

여기서 ^ M은 Ctrlv를 함께 입력 한 다음 Ctrlm을 함께 입력합니다.

이 명령은 첫 줄 '1'에서 마지막 줄 '$'까지 명령을 실행합니다. 명령은 '^ M'을 'nothing'으로 대체하고 전역 적으로 'g'로 대체합니다.

VIm의 fileformat 사용하기

Vim이 <CR><NL> 줄 끝 (MSDOS 기반 운영 체제에서 일반적으로 CRLF 라고도 함)이있는 파일을 열면 fileformatdos 설정합니다. 다음과 함께 확인할 수 있습니다.

:set fileformat?
  fileformat=dos

아니면 그냥

:set ff?
  fileformat=dos

<NL> 줄 끝 ( LF 라고도하는 대부분의 UNIX 기반 운영 체제에서 일반적 임)으로 변환하려면 파일 fileformat 설정을 변경하면 Vim이 버퍼를 변경합니다.

:set ff=unix


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow