2011년 3월 29일 화요일

[Emacs] Dropbox + Emacs + markdown-mode + org-mode = 신세계!?


이전 simplenote에 대한 이야기를 잠깐 했었는데 요즘들어 simplenote-mode가 우분투리눅스에서 오작동 하는 문제를 겪고 있다. 그래서 해법을 찾아 보다 전혀 엉뚱한 데서 아이디어를 얻게 되었다. 바로 Dropbox를 이용한 동기화를 활용하는 것이다.

이 글은 Emacs를 이용해 노트나 할일(TODO) 등을 여러 컴퓨터에서 공유하기 위한 하나의 방법을 제시한다. 우선 Emacs는 설치되어 있을테고, Dropbox가 필수적으로 설치되어 있어야 한다. markdown-mode는 옵션이지만 있는 편이 좋은 것 같다. (markdown-mode는 emacs-goodies-el 패키지에 포함되어 있으니 우분투 등을 사용한다면 해당 패키지를 설치하면 된다)

Dropbox에 대해 잠시 설명하자면, 웹하드 클라우드 스토리지를 제공하며(무료 2GB) 컴퓨터 마다 동기화 서비스를 제공한다. 특히 윈도우/리눅스/맥 가리지 않고 (속도는 국내 서비스에 비해 좀 느리지만) 아주 안정적으로 잘 돌아가기 때문에 추천하는 서비스다.

Markdown은 문서를 텍스트로 표현하기 위한 문법 중 하나인데 그냥 text-mode에 비해 하이라이팅이 되고 글 읽기도 수월한 관계로 추천하는 기능이다. 물론 비슷한 류의 텍스트 문법 및 작성기도 많으니 원한다면 다른 것을 써도 될 것이다. 하여간, Markdown 문법은 아래 위키피디아 링크를 참고바란다.

http://en.wikipedia.org/wiki/Markdown

만약 Markdown 렌더링 된 결과물을 보고 싶다면 markdown을 설치해 줘야 한다. 우분투의 경우 sudo apt-get install markdown으로 쉽게 설치가 가능하다.

자 이제 실제로 사용해 보자.

우선 몇 가지 설정이 필요하다. 확장자를 특정 모드와 엮어주는 것이다.

;; markdown-mode
(autoload 'markdown-mode "markdown-mode.el"
  "Major mode for editing Markdown files" t)
(setq auto-mode-alist (cons '("\\.text$" . markdown-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.txt$" . markdown-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.md$" . markdown-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.mdown$" . markdown-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.mdwn$" . markdown-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.mdt$" . markdown-mode) auto-mode-alist))

;; org-mode
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(add-to-list 'auto-mode-alist '("\\.todo$" . org-mode))

특정 확장자의 파일을 Emacs로 열었을 경우 자동으로 특정 모드로 선택되도록 설정한 부분이다. 확장자를 적을 때 정규표현식 그룹으로 적어도 될 줄 알았더니 안되어서 일단 수동으로 몽땅 적어버린게 좀 치명적인 에러지만 돌아가면 장땡이다.(^ 0 ^)

이제 사용만 하면 된다. (...)

내 경우 ~/Dropbox 폴더를 Dropbox에서 관리하는 동기화 폴더로 설정하였다. 따라서 이 아래 파일들은 동기화 서비스를 받을 있다. 그래서 ~/Dropbox/notes 라는 폴더를 만들어서 여기다 공유할 노트라던가 TODO문서를 적고 있다. 이게 생각보다 굉장히 편하다. simplenote-mode의 경우 sync 작업을 필수적으로 해 주어야 최신 상태로 유지되지만, Dropbox를 활용하게 되는 경우 자동으로 동기화가 되기 때문에 어느 컴퓨터에서나 최신 문서에 접촉이 가능하다.

특히 org-mode로 작성된 작업/할일 관리 문서의 경우 TODO 나 Completed 마크를 해 둔 것도 공유가 되니 따로 다이어리 같은게 필요 없을 정도로 편하다.

댓글 없음 :