read

윈도우 OS 에서 개발한 소스파일을 받아 Mac OS 에서 작업하다 보니
줄바꿈 기호 문제가 발생~~ 두둥~~

증상

$ vi -b sample.xml
+    ^M
+    ^M
...

Mac 에서 변환된 파일을 git에 올렸더니 아래와 같은 현상이;;;
이거~ 이거~ 한두줄이 아니라~ 몇백 라인이 죄다 저러니 ~ (식은땀이 나는구나..) source tree

CRLF

컴퓨터 환경에서는 간단히 CR로 줄여 쓴다.
원래 캐리지 리턴은 타자기의 구조나 레버를 가리키는 용어였다.
출처 : https://ko.wikipedia.org/wiki/캐리지_리턴

  • LF(Line Feed)
    라인피드는 커서를 현재위치에서 바로 아래로 이동하지요.

  • CR(Carrige Return)
    캐리지 리턴은 커서의 위치를 현재위치의 제일 앞으로 이동한답니다.

조치

구글링 해보니 대부분 vi로 해결법이 나오는 군요.

vi

파일의 줄바꿈을 확인해 볼까요?

$ vi -b sample.xml
<?xml version="1.0" encoding="UTF-8"?>^M
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">^M
<mapper namespace="com.didalgus.dao.SampleDao">^M
^M
    <sql id="sqlField">^M

이제 Ctrl + V + M(^M) 문자를 제거 해봅시다.
vi 편집모드에서 아래 3가지 방법으로 가능하답니다.

첫번째 방법은

:%s/^M//

두번째 방법은

:%s/\015//

세번째 방법으로는

:set ff=unix

짜짠~ 잘되시나요?

intelliJ

손에 익은 intelliJ 로 쉽게 변환해보아요.

IntelliJ 줄바꿈 설정 페이지에서 안내해준 대로 변환해 보아요.
파일의 줄바꿈을 먼저 확인을 해야겠지요.

WindowsOS 에서 생성한 파일 made in WindowsOS

MacOS 에서 생성한 파일 made in MacOS


2가지 방법으로 변경가능하지요.
첫번째는 하단 상태바(Status Bar) 에서 바꾸기~
LF - Unix and OS X (\n) 으로 변경해주세요.

made in MacOS

두번째로 상단 메뉴 에서 바꾸기~
made in MacOS

vi 명령어로 확인해보았어요

$ vi -b sample.xml
<?xml version="1.0" encoding="UTF-8"?>^M
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">^M
<mapper namespace="com.didalgus.dao.SampleDao">^M
^M
    <sql id="sqlField">^M

수정후

$ vi -b sample.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.didalgus.dao.SampleDao">

    <sql id="sqlField">

IntelliJ 히스토리에서 확인 할 수 있어요. made in MacOS

CRLF

Blog Logo

Weeping Willow


Published

Image

Willow's Blog

Welcome!

Back to Overview