Emacs
2013년 12월 16일 월요일
오후 7:13
 
오늘은 Editor의 최고봉이라고 일컬어지는 emacs에 대해서 포스팅 해보려고 한다. 그냥 editor라기 보다는 통한 IDE + shell 환경이라고 말하는 것이 더 적합하다고 한다. 하지만 나는 불행히도 emacs를 직접 접해볼 기회가 많지 않았다. windows에서 돌아가는 독립버전 emacs를 설치하거나 Cygwin에서 Emacs package를 깔아서 사용해본 것이 전부이다.
     
또한 editor를 사용해봤다 하면 적어도 "파일, 편집, window 이동, symbol 검색, 디버깅, external tool연동등을 해봐야 어느 정도 써봤다"라고 말할 수 있는데, 지금까지의 posting은 모두 이 과정을 해본 터라 뭐라 말할 수 있었지만 emacs는 아주 단순한 기능만 써봤다.
아마도 emacs를 써본 사람은 내가 왜 그랬을지 상상할 수 있을 것이다. 키 조합이 너무 복잡하다. 정말 외우기 어렵고 사용해보기도 어려웠다. 또한 emacs에 대한 한글 guide를 구하기 어려운 것도 한몫 했다. 또한 editor를 사용하기 전에 어디까지 customization이 가능한지 검사하는 습관이 있는데, emacs경우 external tool연동등을 하기 위해서는 emacs는 이 부분을 Lisp으로 작성해야 해서, 엄두가 나지 않았다. 대학교 때 Functional Language인 Lisp을 1학기 동안 배웠었는데, 하나도 기억이 안 나는 이유는 뭘까? 무엇보다도 emacs를 쓰기 어렵게 한 가장 큰 이유는 생각보다 단순한데, 시작을 vi로 했기 때문이다.
     
Editor의 양대 산맥이라 일컬어지는 emacs와 vi 그러나 너무나도 성격이 다른 editor.
 

 
emacs의 창시자인 리차드 스톨만(http://en.wikipedia.org/wiki/Richard_stallman) 의 절대 지지 속에 emacs에 대한 너무나도 많은 찬양 글을 읽어서 그런지 emacs에 대한 막연한 동경마저 생겼다. Andy Hunter 마저도 Editor에 대한 의견을 물었을 때 emacs외에는 생각해본 적이 없다는 글을 읽은 이후 더더욱 그랬다. (Programmatic programmer의 역자인 김창준씨가 저자인 Andy hunter와의 1차 인터뷰에서 Andy Hunter가 그렇게 말했으나, 이후 2차 인터뷰에서 이 부분을 정정하였다고 한다.)
   
그러나 나 역시도 10여년 이상 editor를 써왔고 발전하는 과정을 지켜본 터라, 누구의 의견이나 시선에 상관없이 이제 한걸음 떨어져 평가 할 눈이 생긴 것 같다. (참고로 editor 논쟁은 종교 전쟁에 가깝다. 
http://kldp.org/node/31217http://kldp.org/node/122274http://kldp.org/node/33068http://kldp.org/node/26028 )
     
사실 차후에 posting하겠지만, vi가 vim으로 변화하고 vim script를 도입한 이후, vi는 더 이상 예전의 vi가 아님을 밝혀두고 싶다.