Tag Archives: 에디터

Komodo Edit: 웹프로그래머를 위한 에디터

오랜만에 회사에서 웹기반 프로젝트를 시작했습니다. 회사 내부에서 쓰는 거라 그동안 관심있게 지켜본 기술들을 여러가지 적용해보았습니다. PHP, MySQL은 그대로 쓰고, 자바스크립트 라이브러리로 jQuery를 썼는데 PHP와 자바스크립트를 혼용해서 쓰다보니 vi에서는 syntax highlighting도 깨지고 좀 불편하더군요.. 그래서 Aptana와 Komodo Edit을 구해서 설치해봤는데 에디터로서는 Komodo Edit이 상당히 쓸만하네요. 회사 웹팀 사람들도 전향을 고려하고 있습니다.

Komodo IDE가 유료인 반면 Komodo Edit은 무료로 사용할수 있으며, 에디터의 대부분의 기능은 제약이 없습니다.

제가 제일 마음에 드는 기능은 인텔리센스입니다. PHP 내장 함수들은 물론 제가 짠 함수들도 인자가 무엇인지 쉽게 확인할수 있습니다. 그리고 Javascript와 CSS도 아주 잘 지원해줍니다. CSS할때 항상 어딘가를 참조했어야했는데, 각 property별로 어떤 값이 올수 있는지 확인할수 있으니 너무 편하네요. 자바스크립트는 내장 함수뿐 아니라 jQuery, Prototype, Dojo등의 외장 라이브러리의 인텔리센스도 지원합니다. 외장 자바스크립트 라이브러리는 옵션에서 사용할 라이브러리를 선택해주어야 합니다.

두번째로 마음에 드는 부분은, VI와 Emacs 에뮬레이션 기능입니다 :) 제 주력 에디터가 vim이다보니 다른 에디터에 적응하기 힘듭니다. 제가 많이 사용하는 기능들은 모두 정상 동작하네요. Emacs는 LISP 프로그래밍할때 SLIME과 연동하여 쓰기 때문에 Komodo Edit에서 LISP를 쓸일은 없을거 같네요.

세번째, 가벼운 편입니다. 아주 날아다니는 정도는 아니지만 기능에 비하면, 무겁다는 생각이 안듭니다. 설치하고 처음 시작할때 약간 시간이 걸리고 그 다음부터는 쓸만하네요.

네번째, SFTP를 지원합니다. 원격 파일 에디팅할때 다른 사람이 고쳤으면 diff도 보여주고, putty pageant와도 잘 연동되네요. 아직까지 여러사람이 원격으로 같은 프로젝트 작업하기에는 무리가 있어보입니다. (merge 기능 지원 없음)

다섯번째, snippet과 key binding을 잘 쓰면 아주 편리한 환경을 만들수 있습니다. snippet 기능은 단순히 텍스트만 붙이는것이 아니라 텍스트를 붙이고 tab으로 이동하는 경로를 설정할수 있습니다. 함수 snippet을 만들때 함수이름을 치면 함수명과 주석에 있는 함수명이 같이 변경되게 설정할수 있습니다. 예제로 많은 snippet이 포함되어 있어서 snippet 소스를 보면 금방 배울수 있습니다. snippet을 많이 사용할 경우 key binding을 만들어 두는게 편합니다. 저 같은 경우, Ctrl-l(엘)로 시작해서 여러 문자를 사용해서 key binding을 만들었습니다.

여섯번째, 멀티플랫폼입니다. 저는 리눅스와 윈도우즈에서 쓰고 있습니다. 맥도 지원한다고 하네요.

물론 단점도 있긴합니다. 아직 EUC-KR 문서를 편집하신다면, 설치후 추가적인 작업이 필요합니다. 여기를 참고해서 소스를 변경하시고 다시 시작하면 설정의 인코딩에서 EUC-KR를 선택할수 있습니다.

제가 만든 snippet을 패키지로 만들었습니다. key binding은 Ctrl-l(엘)로 모두 시작하며, 이름에서 대문자로 표시된 부분을 입력하면 됩니다. html 태그는 Ctrl-l, h 이렇게하면 입력됩니다.
1112504034.kpz
komodoedit snippet
snippet 패키지(kpz)를 import할때 폴더가 생성되는데 폴더는 삭제해도 됩니다. kpz가 프로젝트 내볼때도 공통으로 쓰는 포맷이라 import하면 프로젝트 폴더가 생성되는거 같습니다.