본문 바로가기

Emacs에서 CRLF를 LF로 변환하기

기술적인 이야기/이맥스 2020. 1. 6.
반응형

윈도 등에서 사용하는 DOS 텍스트 파일의 개행문자(CRLF, \r\n)와 UNIX 텍스트 파일의 개행문자(LF, \n)는 차이가 있다. 그래서 두 OS에서 작성된 파일의 개행문자가 달라서 표시가 이상해서 읽기가 힘들거나 특정 스크립트에서 오류가 발생하는 등 불편한 상황이 가끔 발생한다. 물론 과거에 비해서 요즘은 잘 구경하긴 힘들긴 하지만 그래도 없진 않다. 그래서 이를 변환하는 방법이 정말 간혹 필요할 때가 있다.

Vim에 비해 Emacs는 이럴 때를 대비해 상당히 통제된(?) 방법을 제공하는데, 이를 변환하려면 file coding system을 바꿔주면 된다. 이 방법은 아래와 같은 커맨드로 사용할 수 있다.

M-x set-buffer-file-coding-system

Doom Emacs 등을 사용한다면 M-x 대신 SPC-:을 단축키로 이용할 수도 있지만 결과적으로는 동일한 방법이다.

개인적으로 커스터마이징 한 Doom Emacs에서의 화면

이 명령을 실행시키면 위 스크린샷처럼 파일 코딩 시스템의 타입을 물어오는데 UNIX 스타일(LF, \n)을 쓰고 싶다면 utf-8-unix 를, 윈도 스타일(CRLF, \r\n)을 쓰고 싶다면 utf-8-dos를 선택해 주면 알아서 거기에 맞게 변환된다. 스크린샷에서 볼 수 있다시피 맥(macOS)에 호환되는 utf-8-mac도 지원되므로 필요하면 원하는 것을 사용해보자.

728x90
반응형

댓글