새로운 Cygwin 1.7 한글 문제 해결

컴퓨터 Tip 2010.01.21 19:46 Posted by 몽백작


Install
Cygwin
now
따끈따끈한 Cygwin 1.7이 작년 12월 말에 릴리즈 되었다. 윈도나 리눅스 같은 운영체제가 릴리즈 될때는 떠들썩한데, 에뮬레이터 신분이라 그런지 항상 Cygwin을 끼고 살아도 업데이트가 되는지 안되는지도 몰랐다. 그러다가 새로 깔일이 있어 간만에 사이트를 방문해보니 새로운 버전이 릴리즈되어 있었다. 원래 새로운게 나오면 한번 깔아봐야 직성이 풀리는 성격인지라 바로 다운로드 해서 설치해보니...

사실 에뮬레이터인지라 딱히 UI가 있는 것도 아니어서 뭐가 바뀐지는 모르겠다만, 한가지 확실한 것은 VIM 등에서 한글이 나오지 않는 것이었다. 이런... ㅆ... 아니, 나오긴 나와도 뭔가 어설프게 나오고 간혹, 영어랑 한글이랑 같이 들어간 파일을 편집하고자 할 때는 아예 제대로 인식조차 못하는 현상이 벌어졌다.

온 종일 구글링과 삽질 끝에 다시 한번 "등잔 밑이 어둡다"는 속담을 깨우쳤다. 언어 설정하는 부분이 Cygwin 사이트에 있을 줄이야... 방법은 간단하다. Cygwin 설치 디렉토리 (보통 C:\cygwin) 에 있는 Cygwin.bat 파일에 한줄 (set LANG~) 추가하면 된다.

@echo off

C:
chdir C:\cygwin\bin
set LANG=ko_KR.eucKR
bash --login -i

수정한 후, 다시 Cygwin Bash shell에 들어가 VIM을 실행시켜보면, 한글이 깔끔하게 잘 나오는걸 확인할 수 있다.

이렇게 오늘도 또 삽질을...;;
일은 도대체 언제...;;;

댓글을 달아 주세요

  1. 구차니 2010.02.19 14:23 신고  댓글주소  수정/삭제  댓글쓰기

    아 cygwin 안쓴지가 오래되서 업데이트 되었는지도 몰랐네요 ㅎ
    저는 Cygwin/X 격인 Xming을 주로 이용하고 리눅스를 별도로 두는데다가
    필요하면 colinux(portable ubuntu)로 구동을 하는 편이라서 말이죠 ^^

    • 몽백작 2010.03.17 08:22 신고  댓글주소  수정/삭제

      그렇군요. colinux는 쓸만한가요? ^^
      제가 속한 팀에서 하는 일 중 하나가 윈도용 툴체인을 배포하는 일이라서 저도 어쩔 수 없이 cygwin을 씁니다. 한글 등 여러가지 문제들을 생각한다면 cygwin을 되도록 안쓰는게 방법이겠지요.ㅋㅋ

  2. 구차니 2010.03.17 09:30 신고  댓글주소  수정/삭제  댓글쓰기

    colinux에서는 내부적으로 ELF로 실행이 되니
    colinux ubuntu에서는 apt-get으로 패키지를 그대로 설치가 가능하답니다.
    음.. Userspace Kernel 을 이용해서 만든걸로 알고 있구요
    Xming(X11) 을 통해서 작동을 한답니다. 아무튼, 작동성능도 꽤 만족할만 하구요 ㅎ

    그런데 컴파일까지는 잘 모르겠어요 ㅠ.ㅠ

콘솔(cmd.exe) 창 너비 키우기

컴퓨터 Tip 2009.11.18 14:54 Posted by 몽백작

이건 참 팁이라 하기에도 애매하다.

사실 일할때 주로 Cygwin을 많이 쓰는데, 항상 아쉬웠던 점이 Windows의 콘솔(cmd.exe)는 너비가 고정되어 있다는 점이었다. 높이는 조절이 가능한데, 너비가 제한되어 있어서 Cygwin에서 vi에디터좀 사용하려면 여간 불편한게 아니었다.

그래서 울며 겨자먹기로 많이 썼던 것이 PuttyCyg 이다. Putty에다 Cygwin을 연결할 수 있도록 한 것인데, 내부적으로 어떻게 돌던지 간에 가상 터미널이라서 크기 변경은 가능하다. 하지만 속도차가 발생한다. 가령 크기가 제법 큰 소스 파일을 화살표 키로 마구 넘기다가는 버버버벅 하면서 끊어진다. 여전히 맘에 들지 않았다.

cmd.exe를 대체할 만한 크기 변경 가능한 윈도용 콘솔을 찾아 헤맸는데 마땅한게 없었다. "역시 콘솔 기반 환경은 리눅스/유닉스가 짱인가" 라고 생각하게 될 즈음, 놀라운(?) 옵션을 발견했다.

Cygwin.bat의 팝업 메뉴에서 '속성'을 들어가보니...


'레이아웃' 이라는 탭이 있다. 여기서 '창 크기'를 적당히 바꿔주니 창 크기가 고정이 된다. 여전히 동적으로 사용중에 변경되지는 않지만, 필자의 경우 vi에디터를 쓸일이 많아서 아에 크게 고정시켜줬다.

이제 Cygwin에서 vi에디터로 Trinity 플러그인을 돌려도 어색하지 않은게 마음에 든다. ^^;;;


아울러, '옵션' 탭에서는 '커서 크기'도 바꿀 수 있다. 여기서 '커서 크기'를 '크게'로 하면 언더바(?) 모양의 커서가 아닌 직사각형 모양의... 리눅스 쉘에서 많이 보아온 커서로 바꿀 수 있다.


훌륭한 목수는 연장탓을 안한다는데... 난 자꾸 왜이리 연장탓을 할까? ㅋㅋ
아무튼... 이제는 진짜 집중해야지...;;;

댓글을 달아 주세요

Source insight 3.5를 쓰다가 context가 느려지는 문제 때문에 다른 것을 찾다가 발견한 좋은 vim plugin..
바로 vim 환경에서도 source insight 같은 context 및 코드 이동을 제공해주는 trinity 플러그인이다.

http://www.vim.org/scripts/script.php?script_id=2347

윈도에서도 gVim 같은 툴을 쓰면 적용 가능하다.
C:\Program Files\Vim\vimfiles\plugin\ 에다가 4개의 *.vim 파일을 넣주기만 하면 되고...
.vimrc(cygwin 환경) 파일에 몇줄 추가해주면 된다.

그리고 프로젝트 디렉토리로 이동해서 tags 를 생성하고 vim 실행!!
$ ctags -R

$ vim {소스파일} or gvim {소스파일}

ctags 기반이라는 점을 명심하자. ctags가 없다면 cygwin을 다시 setup 해서 ctags 패키지를 설치해야 한다.

물론 Source Insight 도 무척 훌륭한 툴이지만... 그와 유사한 환경을...
그것도 공짜로 쓸 수 있다는 점은 돈없어 Source Insight를 쓰지 못했던 사람들에게는 희소식이 아닐까? ㅋ

마지막으로 윈도용 vim 과 gvim으로 4.4BSD-Lite2.2 소스코드를 살펴보는 모습이다.
우선 vim의 경우 cygwin 터미널 창이 제약적이다보니 화면 크기가 넉넉치 못하다.

gvim으로 보면 늘릴 수 있어서 보기에 나쁘지 않다.

기본이 vim+plugin 이다보니 예쁜 GUI는 아니지만...
이정도면 쓸만하지 아니한가...ㅋㅋ

댓글을 달아 주세요

  1. nixxin 2009.04.23 23:36 신고  댓글주소  수정/삭제  댓글쓰기

    쓸만하지 아니한가~

  2. hanseok 2009.09.07 17:15  댓글주소  수정/삭제  댓글쓰기

    잘보고 갑니다.
    지금 적용했는데 아직 익숙하지 않아서 그런지 조금 불편하네요
    앞으로 계속 사용하다 보면 이것 없으면 못살게 되겠죠

  3. mschung 2010.06.23 11:28  댓글주소  수정/삭제  댓글쓰기

    taglist 창에 보이는 tags 생성 시 taglist.vim 플러그인을 사용하는 것으로 알고 있습니다.
    이 플러그인에서 현재 열린 파일의 디렉토리에서 ctags 명령을 사용하고 있는 것 같은데요.
    이 때 ctags 커멘드에 옵션을 주고 싶습니다. 어떻게 하면 좋을까요?
    예를 들면 taglist 창에 나오는 결과를 다음 커멘드를 통해 얻고 싶습니다.
    ctags * -I identifier_list

    도와주십시요.
    mschung@ubiquix.com

    • mschung 2010.06.23 17:41  댓글주소  수정/삭제

      자답 입니다만.
      불가능 하다고 taglist.vim 개발자로부터 답변이 왔네요.
      주고 받은 질문 답변 공유 합니다.

      --------------------------------------
      질문.
      --------------------------------------
      Hello yegappan.

      I'm using taglist plugin of vim in Ubuntu Linux.

      I want to set options of ctags for taglist in vim.
      For example, If I want to use ctags command for taglist as below,

      ctags -R -I identifier_list

      How can I configure it?
      Temporary, I add a line in taglist.vim file,

      let ctags_args = ctags_args . ' -I identifier_list'

      There must be more convenient way to configure this.
      Please help me.

      Thanks in advance.

      --------------------------------------
      답변
      --------------------------------------
      The taglist plugin doesn't provide a way for a user to override the ctags arguments.
      Nobody has asked for this feature so far. You can keep using the temporary
      workaround for now.

      - Yegappan

보통 UNIX계열은 개행문자를 LF(Line Feed, \n)라고 인식하는 반면, DOS / WinNT 계열은 CR(Carriage Return, \r), LF로 나타낸다. 가령 Linux에서 VI 에디터로 작성한 문서의 경우 Linux상에서는 제대로 개행이 된 상태로 보이지만 Windows XP에서 메모장으로 읽어보면 개행이 적용이 안되어있다. 반대로 Windows XP에서 메모장으로 작성한 문서는 Linux에서 개행이 잘 된것처럼 보이지만 이 문서가 쉘 스크립트라면 에러가 발생한다.(CR '\r'을 리눅스는 처리하지 못한다.) 이는 VI, VIM, GVIM 에디터에서 간단히 해결할 수 있다.

Vim Vi, 도스 텍스트를 유닉스 텍스트로 개행문자 변환; DOS CR-LF to Unix Newline

댓글을 달아 주세요