2012년 5월 15일 화요일

emacs를 써보자

출처 : http://poongbek-textcube.blogspot.com/2009/08/emacs%EB%A5%BC-%EC%8D%A8%EB%B3%B4%EC%9E%90.html


1. 윈도우용 emacs를 sorceforge(http://sourceforge.net) 에서 다운받는다.
2. emacs를 설치하고자 하는 폴더로 이동후 압축해제.
3. addpm.exe 를 실행하면 C:\Documents and Settings\nick\Application Data 에 .emacs.d 디렉토리와 .emacs 파일이 생성되고 emacs 는 이곳을 home folder로 인식하게 된다.

emacs 설치는 끝이다. emacs를 좀 더 파워풀하게 사용하기 위해서 plug-in을 설치한다.
1. cscope 설치
  • http://iamphet.nm.ru/cscope/ 에서  cscope-16.0a-win32.7static 를 다운받아 압축해제하면 scsope.exe 와 sort.exe 파일이 있다. 이파일을 emacs/emacsW32/gnuwin32/bin 폴더에 복사해준다. 윈도우에서 사용가능하게 만든 리눅스 명령어쯤으로 생각하자.
  • sourceforge에서 gunutil 중에서 findutil을 찾아서 window용으로 다운받는다.
  • 다운로드시 의존성(dependency) 파일도 같이 다운받는다.
  • 압축 푼 파일을 emacs/emacsW32/gnuwin32/bin 에 카피한 후 command 창에서 find를 쳐보자. error가 발생한다면 의존성파일에 있는 dll 파일을 같이 카피한다.
  • xcscope.el 파일을 sourceforge에서 다운받는다. 홈폴더의 .emacs.d폴더에 plugin이란 이름으로 폴더를 하나 만든후 그곳에 xcscope.el 파일을 복사하자.
  • emacs 설정파일인 .emacs을 편집기로 연 후 중간쯤에 (require `xcscope) 를 써넣자.
  • emacs를 실행해 보면 메뉴라인에 Cscope 항목이 보인다면 설치 완료.
  • 설치만 해서 사용할려고 하면 문제가 생길것이다. cscope.out 파일을 만들지 않아서이다.
  • 편집기로 간단하게 bat파일을 만들어서 사용하기 위해 메모장을 연 후
    • dir *.c *.h *.s /s/b > cscope.files
    • dir *.c *.h *.s /s/b|etags -
    • cscope -b
    • 리눅스 상에서는 find . -name "*.[ch]" -print | xargs etags -a 로 태그 파일 만들것(etag만들기)
    • emacs상이라면 A-x cscope-index-file 할것( cscope tag 파일만들기)
  • 이렇게 쳐준다. 첫째라인은 sorce file list를 scope.files 란 파일로 만들고 두번째 라인은 emacs 기본 기능인 etage를 쓰기위해 세번째는 scope.files을 기준으로 scope가 분석가능한 파일 cscope.out 파일을 만든다.
  • 위 bat file을 실행하면 총 3개의 파일이 생성된다. scope.files, cscope.out, TAGS


2. tabbar 추가
울트라 에디터처럼 열려있는 버퍼들을 tab 형식으로 보여주는 plugin
  • sourceforge에서 tabbar.el 을 다운받아서 .emacs.d/plugin 폴더에 복사.
  • 설정파일인 .emacs에 다음을 추가.
    • (require 'tabbar)
    • (tabbar-mode t)
    • (global-set-key [(control shift tab)] 'tabbar-backward)
    • global-set-key [(control tab)]       'tabbar-forward)
3. highline mode 추가. 
cusor가 있는 위치를 highlight 해준다.
  • emacswiki에서 highline.el 을 다운받아서 .emacs.d/plugin에 복사.
  • 설정파일 .emacs 에 다음을 추가한다.
    • (require 'highline)
    • (global-highline-mode t)
4. theme 추가.
emacs 배경색등 테마기능
  • emacswiki 에서 color-theme 을 다운받아서 .emacs.d/plugin 폴더에 복사.
  • .emacs 에 다음을 추가.
    •  (setq load-path (cons (expand-file-name "~/.emacs.d/plugins/color-theme-6.6.0") load-path))
    •  (load-library "color-theme") 
    •  (require 'color-theme)   
    •  (color-theme-initialize)
    •  (color-theme-tango)   ;; Select the theme which you want
5. ecb추가
     emacs code browser로서 코드 분석시 유용하게 사용된다.
  • ecb 설치(ubuntu의 경우 package manager에서 자동설치)
  • .emacs에 다음을 설치
    • (add-to-list 'load-path "~/app/ecb-2.32/")
      (require 'ecb)

      (custom-set-variables
        ;; custom-set-variables was added by Custom.
        ;; If you edit it by hand, you could mess it up, so be careful.
       ;; Your init file should contain only one such instance.
        ;; If there is more than one, they won't work right.
       '(ecb-fix-window-size (quote width))
       '(ecb-layout-name "left1")
       '(ecb-layout-window-sizes (quote (("left9" (0.32857142857142857 . 0.9791666666666666)))))
       '(ecb-options-version "2.32")
       '(ecb-windows-width 0.33))
      (custom-set-faces
        ;; custom-set-faces was added by Custom.
        ;; If you edit it by hand, you could mess it up, so be careful.
        ;; Your init file should contain only one such instance.
        ;; If there is more than one, they won't work right.
       )

      ;; customize the keys for ECB
      (define-key ecb-mode-map (kbd "M-1") 'ecb-goto-window-directories)
      (define-key ecb-mode-map (kbd "M-2") 'ecb-goto-window-sources)
      (define-key ecb-mode-map (kbd "M-3") 'ecb-goto-window-methods)
      (define-key ecb-mode-map (kbd "M-4") 'ecb-goto-window-history)
      (define-key ecb-mode-map (kbd "M-5") 'ecb-goto-window-compilation)
      (define-key ecb-mode-map (kbd "M-0") 'ecb-goto-window-edit1)

      ;; auto ecb mode
      (setq ecb-auto-activate 'true)
      (put 'scroll-left 'disabled nil)

앞으로 추가해야할것
doxymacs
YAsnippet

댓글 없음:

댓글 쓰기