[vim] VI : carriage return 제거하기 : CRLF → LF

2023. 7. 14. 10:07·Computer/Linux
728x90
728x90

왜 필요한가?

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

Linux/Unix/macOS 의 경우 개행을 Linefeed(LF \n)로 사용.

 

윈도우에서 편집한 소스코드를 linux등에서  git 등으로 가져온 후 편집할 때 발생하는 문제는 다음과 같음.

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

https://www.putorius.net/remove-carriage-return-characters-linux.html


방법

이를 제거하려면 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을 참고.

https://ds31x.tistory.com/38

 

[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


 

 

728x90

'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
'Computer/Linux' 카테고리의 다른 글
  • Git: 사용자와 이메일 정보 설정 및 확인하기-git config
  • [Linux] vi (or vim) 사용법 정리
  • [Linux] Network Setting
  • [Linux] 화면 캡쳐 단축키
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (785)
      • Private Life (15)
      • Programming (55)
        • DIP (116)
        • ML (34)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    인허가제도
    Optimization
    fourier transform
    Probability
    linear algebra
    random
    ML
    SIGNAL
    Vector
    function
    numpy
    signal_and_system
    Programming
    signals_and_systems
    opencv
    SS
    math
    Python
    Term
    cv2
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[vim] VI : carriage return 제거하기 : CRLF → LF
상단으로

티스토리툴바