왜 필요한가?

Windows/DOS 의 경우 개행을 CRLF(Carriage return + Line feed)로 지정함.

Linux/Unix 의 경우 개행을 LF로 사용.

git등으로 윈도우에서 편집한 소스코드에 문제가 생기는 경우 발생.

  • ^M (carriage return) 이 모든 라인 뒤에 붙게됨 (vi에서 입력하려면 ctrl+v+m or ctrl+q+m) 임

방법

이를 제거하려면 vi에서 해당 파일을 열고 명령어모드에서 다음을 입력

:%s/^M//g
  • ^Mctrl+v+m 으로 입력해야 함.

Note

MobaXterm의 경우, ctrl+ alt + m / ctrl + m 이 화면 hiding용 hot key로 등록되어 있음.

MobaXterm에서 vim으로, 위의 개행 처리를 하려면, 해당 hot key 세팅을 disable시켜야 함.

 

더 읽어볼 자료

substitution을 이용한 방법으로 관련하여 자세한 건 다음 URL을 참고.

https://ds31x.tistory.com/38

 

[Vim] substituion (치환, 교체, replace)

명령어 형식 substitution 의 기본 명령어 형식은 다음과 같음. :[range]s/[교체전문자열]/[교체후문자열]/[options] seperator로 / slash를 사용했으나 ,로 바꾸어도 동작함. [교체전문자열]이나 [교체후문자열

ds31x.tistory.com

git에서 개행문자관련 설정으로 이 문제를 해결할 수 있음

https://dsaint31.tistory.com/entry/Git-autocrlf-%EC%84%A4%EC%A0%95-%EA%B0%9C%ED%96%89%EB%AC%B8%EC%9E%90

 

Git: autocrlf 설정: 개행문자

core.autocrlf : git에서 파일을 git repository 에 업로드할 때 개행문자(new line)를 처리하는 option. core.autocrlf 는 다음과 같은 세가지 mode를 지원. core.autocrlf = false (default) 파일 내용을 그대로 반영. core.auto

dsaint31.tistory.com

 

반응형

+ Recent posts