IDLwave (Emacs IDL 개발 환경)

IDLWave 라는 것이 있었습니다. Emacs 라는 개발환경에 구축한 IDL 개발환경입니다. Emacs는 VI 와 더불어 유닉스 계열 에디터의 양대 산맥이죠. 두 에디터에 대한 위키피디아를 보니 두 가지 모두 1976년부터 만들어진 에디터라고 하네요. 와우… 40년입니다.

IDL 개발환경(IDLDE)이 IDL 7.0부터 eclipse 기반으로 완전히 바뀌었습니다. 이 이후로는 윈도우든, 리눅스든, 맥킨토시든 같은 조건의 개발환경을 사용하고 있습니다. 그런데 그 이전에는 수준이 좀 달랐습니다. 비슷하게 만들어져 있기는 했는데, 윈도우즈용은 쓸만했구요(사실 기능이 간결하여 이 버전을 여전히 고수하는 사용자도 있습니다), 리눅스용이나 맥용IDLDE는 이때 버전(6.x 이전) 사실 안쓰는 게 답이었습니다.

이 때 Emacs용 IDL 개발환경이 있다는 얘기를 듣고, 그게 IDLWave라는 얘기를 듣고, IDLWave를 썼습니다. Emacs 단축키에 익숙해지니 윈도우에서도 그냥 IDLWave를 썼습니다. 윈도우용 IDLWave는 프로그램을 Emacs 안에서 실행할 수 없는(IDL Shell을 열 수 없습니다) 약점이 있지만, 하나의 단축키 시스템에 익숙해지니 참 편했습니다. 이 때 VI도 IDL Syntax Highlighting이 지원되고 있었기 때문에 둘 중 어느쪽을 사용해도 무방했습니다만, 아무래도 emacs 환경 안에서 IDL 실행까지 모두 해결할 수 있다는 것은 멋져 “보이는” 기능이었습니다.

IDL 7.0 이후부터는 그냥 IDL Workbench를 사용합니다. IDL 사용자 지원을 해야 하는 제 업무의 특성상 사용자들과 다른 환경을 사용하는 것도 별로 바람직하지 않은 것 같고, 무엇보다 eclipse 기반의 IDL Workbench가 충분히 훌륭했습니다. 모양도 멋져 보였고, 8.0버전 부터는 IDL에 최적화 되었다는 생각도 듭니다. 프로그래머로서 아마추어들이 대부분의 사용자인 IDL에서 최적화란, 안쓰는 기능을 빼는 겁니다. IDL 8.0부터의 IDL Workbench는 멋지게 간결해졌고, 무엇보다 리눅스든 맥이든 윈도우든 같은 환경을 제공합니다. 지금 저는 IDL을 처음 사용하는 사용자라면(이미 사용 중인 에디터가 있으면 그걸 써야죠, 편하게…), VI나 Emacs 급의 어디서나 쉽게 접할 수 있는 유명한 에디터를 사용하는 것이 아니라면 IDL Workbench를 권장합니다.

어쩌다 보니 추억의 글이 되고 마는 것 같은데, 얼마 전, 텍스트 터미널만 사용할 수 있는 환경에서 IDL 작업을 해야할 일이 생겼습니다. 아… 속터지죠. 보통 이런 제약은 보안 문제 때문에 걸리는 거라서 개선의 여지가 별로 없습니다. 속터지는 환경에서라도 작업은 해야 합니다. 혹시나 하는 생각에 Emacs로 IDL 소스코드를 열어보았습니다. 와우… IDL 문법을 인식하고 문자열이나 주석문, 키워드에 대한 색상을 구분하여 보여주네요. IDL 6.x 시절에, IDLWave는 별도로 다운받아 설치해야하는 Add-on 이었습니다. 그런데 이제는 그냥 Emacs 배포판에 함께 들어 있네요. 반갑기도 하고, 다른 방법이 없는 막막한 상황에서 유용하게 잘 사용하였습니다. 이 터미널이 괴팍하게도 VI의 경우 커서의 위치가 정상적으로 보여지지 않아 사용이 거의 불가능했거든요.

Windows 용 emacs의 IDLWave 모드. 이것은 그래픽형 emacs이고, text 기반 emacs에서도 잘 작동합니다.

Windows 용 emacs의 IDLWave 모드. 이것은 그래픽형 emacs이고, text 기반 emacs에서도 잘 작동합니다.

어느날 재미 삼아, Mac의 터미널에서, 리눅스의 터미널에서 emacs로 IDL 코딩 작업을 해 보세요. 물론, emacs는 여타의 에디터와는 완전히 다른 체계를 가지고 있는 만큼 익숙해지는 데 시간이 걸릴 겁니다. CTRL+C+S 로 샤르르 열리는 IDL 콘솔 Shell이 오랜만에 보면 뭉클한 느낌도 드네요. Windows에서도 소스코드 작성에는 불편함은 거의 없고, Linux와 Mac에서는 프로그램 실행까지도 잘 됩니다. 다만, 아마도 IDLWave가 IDL 6.x 정도에 맞추어 개발이 된 뒤 더 이상 개발이 안되고 있는 것으로 보입니다.

이와는 완전히 반대로, 여러분의 IDL Workbench에서 단축키 체계를 emacs와 유사하게 바꾸는 방법도 제공됩니다(사실드리려는 말씀은 이거!). IDL 메뉴의 환경설정을 열면, 왼쪽의 일반 탭 아래 “키”라는 항목이 있습니다.  여기서 “구조” 메뉴를 Emacs로 선택하시면 단축키들이 기본적으로 Emacs와 유사한 체계로 바뀝니다(필요한 단축키들은 추가 등록 및 변경이 가능하므로 여러분이 익숙한 단축키체계에 거의 같게 접근할 수 있습니다). 이는 IDL이 제공하는 기능이라기 보다는 IDLWorkbench의 원형인 eclipse 가 제공하는 기능인 것 같습니다.

IDL Workbench의 단축키 체계를 emacs와 유사하게 설정할 수 있습니다.

IDL Workbench의 단축키 체계를 emacs와 유사하게 설정할 수 있습니다.