2011년 5월 4일 수요일

[Emacs] camelCase를 읽기 편하게 만들어 주는 glasses-mode

camelCase에 대해 언급한 적이 있었는데, 사실 가독성이 아주 좋은 편은 아니다. 심볼 가독성 면에서는 snake_case가 가장 좋다고 생각되지 않는가? 단어와 단어 사이가 확연하게 구분되니까.

하여간, Emacs에서 좀 특별한 모드가 하나 기본적으로 주어지는데 이런 camelCase혹은 MixedCase 형태의 심볼을 snake_case 처럼 읽기 편하게 만들어 주는 glasses-mode가 그것이다.


camelCase와 MixedCase를 적절히 낙서장에 써 놓았다. 그리고 다음 커맨드를 입력한다.
M-x glasses-mode
그럼 화면이 이렇게 바뀐다.
camelCase 혹은 MixedCase로 쓰여진 심볼의 단어 사이에 언더라인(_)이 표시된다. 즉 snake_case와 비슷하게 단어 사이를 밑줄로 구분시켜서 표시해주는 모드이다. (모드라인에 o^o 라고 귀여운 글자도 표시되고 '-';;;)

물론 실제 내용에 변화를 주지는 않고 단지 화면에만 이렇게 표시되므로 걱정할 필요는 없다. 한번 더 glasses-mode를 실행시키면 효과가 사라져서 원래 내용이 표시된다. (즉 토글 모드다.)

이 모드는 global mode 형태로 사용 시 혼란이 올 수도 있으니 필요할 때 직접 함수를 호출해 사용하거나 단축키로 바인딩 해서 토글 형태로 쓰는게 좋을 것 같다.

댓글 2개 :

익명 :

안녕하세요.

질문 2개만 할께요.^^

위에 있는 스샷의 이맥스 버전이랑
컬러 테마가 어떻게 되는지 알수 있을까요??

Seorenn :

GNU Emacs 23.3 입니다. Homebrew를 이용해 Cocoa용으로 컴파일 한 버전입니다. Homebrew를 안쓰시거나 빌드하는게 귀찮으시면 http://emacsformacosx.com/ 에서 동일한 바이너리를 다운로드 받을 수 있습니다.

컬러테마는 Solarized 테마의 Light 버전입니다.
http://ethanschoonover.com/solarized
이와 관련해서 http://seorenn.blogspot.com/2011/04/emacs-vim-color-theme-solarized.html 글을 한번 썼던 적이 있는데 여기에 Dark테마 스크린샷도 올려져 있으니 참고하세요.