
왜 필요한가?
Windows/DOS 의 경우 개행을 CRLF(Carriage return \r + Line feed \n)로 지정함.
Linux/Unix/macOS 의 경우 개행을 Linefeed(LF \n)로 사용.
윈도우에서 편집한 소스코드를 linux등에서 git 등으로 가져온 후 편집할 때 발생하는 문제는 다음과 같음.
^M(carriage return) 이 모든 라인 뒤에 붙게됨 (vi에서 입력하려면ctrl+v+morctrl+q+m) 임.

방법
이를 제거하려면 vi에서 해당 파일을 열고 명령어모드에서 다음을 입력
:%s/^M//g
^M은ctrl+v+m으로 입력해야 함.
Note
MobaXterm의 경우, ctrl+ alt + m / ctrl + m 이 화면 hiding용 hot key로 등록되어 있음.
MobaXterm에서 vim으로, 위의 개행 처리를 하려면, 해당 hot key 세팅을 disable시켜야 함.
더 읽어볼 자료
substitution을 이용한 방법으로 관련하여 자세한 건 다음 URL을 참고.
[Vim] substitution (치환, 교체, replace)
명령어 형식substitution 의 기본 명령어 형식은 다음과 같음.:[range]s/[교체전문자열]/[교체후문자열]/[options]seperator로 / slash를 사용했으나 ,로 바꾸어도 동작함. [교체전문자열]이나 [교체후문자열]
ds31x.tistory.com
git에서 개행문자관련 설정으로 이 문제를 예방할 수 있음
https://dsaint31.tistory.com/209
Git: autocrlf 설정: 개행문자
Git: autocrlf 설정: 개행문자(new line)core.autocrlf : git에서 파일을 git repository 에 업로드할 때 개행문자(new line)를 처리하는 option.core.autocrlf : newline관련 설정.core.autocrlf 는 다음과 같은 세가지 mode를 지
dsaint31.tistory.com
'Computer > Linux' 카테고리의 다른 글
| Git: 사용자와 이메일 정보 설정 및 확인하기-git config (0) | 2024.05.20 |
|---|---|
| [Linux] vi (or vim) 사용법 정리 (0) | 2023.03.21 |
| [Linux] Network Setting (1) | 2023.02.07 |
| [Linux] 화면 캡쳐 단축키 (0) | 2023.01.30 |
| [Linux] Debian 계열 패키지 관리 툴: apt, apt-get (0) | 2023.01.26 |