vi 편집기로 파일을 만든 후 unix 에 업로드를 했을 때,
가끔 특정 파일이나 문장의 끝마다 ^M 문자가 붙을 때가 있습니다.
이 현상은 윈도우에서 편집하여 저장할 때 DOS모드로 저장되어 모든 라인의 끝(엔터키를 친 곳)에
CR/LF가 붙어서 발생하는 것입니다.
유닉스에서는 CR이나 LF 중 하나만 엔터로 인식되여 ^M문자가 라인끝에 붙게 됩니다.
유닉스 모드로 변경하기 위해서의 명령어는
:set fileformat=unix
DOS 모드로의 변경은
:set fileformat=dos
입니다.
위 명령어를 적용하면 각각의 모드로 저장이 됩니다.
vi에디터를 켰을 때 위의 주황색 라인 안에 dos모드이면 dos 모드라고 문자가 뜹니다.
:set fileformat=unix 명령어를 친 후 다시 보면 발생했던 ^M 문자가 보이지 않는 것을 확인할 수 있습니다.
- 추가적으로 CRLF 란 줄바꿈을 입력하는 문자를 표현하는 것입니다.
- CR; carriage return : 현재 라인에서 커서의 위치를 가장 앞으로 옮기는 동작을 의미합니다.
- LF; line feed : 커서의 위치는 그대로 두고 종이를 한 라인 위로 올리는 동작을 의미합니다.