2011년 3월 23일 수요일

[Emacs] Auto Complete Mode


개인적으로 vim을 좋아하냐 emacs를 좋아하냐라 물으면 vim이라 대답한다. 하지만 실제로는 emacs를 더 자주 쓴다. 그 이유는 다름아닌 auto-complete 때문이다. auto-complete는 자동완성 기능을 제공해 주는 확장이다.

auto-complete가 vim의 자동완성(Ctrl-N, Ctrl-P)와 다른 점이 있다면 별 다른 단축키로 트리거 할 필요 없이 입력과 동시에 완성 혹은 완성후보가 나타난다는 점이다. 알게 모르게 vim에서 자동완성 트리거키를 누르느라 피곤하다는 것이다.


다운로드는 공식사이트에서 다운로드 받거나 git 저장소 혹은 github 저장소 미러를 이용해 다운로드 할 수 있다. 개인적으로 github를 좋아해서 git를 이용해 받았다.

git clone git://github.com/m2ym/auto-complete.git 


설치는 make install을 통해 할 수 있다. 아래는 예시:

mkdir ~/.emacs.d/vendor/auto-complete
make install=$HOME/.emacs.d/vendor/auto-complete

설치가 완료되면 설정하는 방법을 알려준다. 아래는 그 예시:

(add-to-list 'load-path "~/.emacs.d/vendor/auto-complete")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/vendor/auto-complete/ac-dict")
(ac-config-default) 

이 코드를 적용한 후 부터 auto-complete가 동작하기 시작한다. 첨부한 스크린샷의 내용은 C코드로 테스트 한 내용인데, return을 완성시키기 위해  re까지만 입력한 상황이다.자동완성 후보 3가지가 나타나는것을 볼 수 있다.

좀 더 눈에 띄는 예제는 아래 동영상이 더 좋은 예일 듯 하다.




vim에 이런 식의 트리거 없는 자동완성 기능이 들어간다면 emacs를 버려버릴 것 같다. -ㅁ-;

댓글 2개 :

jsk :

좋은 정보 감사합니다^^
이맥스... 사랑스럽네요.

Seorenn :

감사합니다.

여담입니다만 요즘은 vim 플러그인도 많이 좋아져서 굳이 emacs를 고집할 필요성이 많이 줄었다는게 안타깝습니다. ;-)