윈도우에서 작성한 소스 코드를 Unix 혹은 그냥 GitHub 이런데 올려뒀다가 리눅스 환경에서 한 번 열어보면 "^M" 이란문자가 라인의 마지막에 막 붙어 있는 것을 볼 수 있다.
이거 머야? 넣은 적이 없는데
엔터 처리에 대한 부분이 윈도우/도스, 리눅스, 유닉스가 막 다르다 보니 나타나는 현상인데
CR+LF 로 처리하는 엔터를 리눅스에서 LF 만으로 처리하니 떡하니 CR 이 남아있어서 보이는 현상으로 볼 수 있다.
우찌 되었던 제거 해야 한다.
문자열 변경하는 방법
vi 에디팅 중에 문자열을 바꾸고 싶다면 아래와 같은 패턴으로 명령을 주면 가능하다.
:%s/찾는문자열/바뀔문자열/g
맨 마지막 /g 는 문서 전체를 나타낸다.
^M 제거하기
그럼 ^M을 제거하려면 위에서 언급한 문자열 변경으로 가능할 것이다.
:%s/^M//g
주의할 점은 "^M"은 이렇게 표기가 되어 있어도 실제 키보드로 입력할 때는 "Ctrl+v+m" 을 넣어줘야 한다는 사실을 명심합시다!!
다른 방법
아래 처럼 ff=unix 로 주고 저장하면 자동으로 사라진다고 하네요.
:set ff=unix
https://5pecia1.github.io/posts/2016-11-22-use-lf-with-vim-vscode-git-on-windows.html
레퍼런스
http://www.devkuma.com/pages/1530
http://mwultong.blogspot.com/2007/08/vim-vi-m-m.html
https://sidepower.tistory.com/255
RODNAE Productions 님의 사진, 출처: Pexels