== 세션 관리 == === 작업 버퍼 관리 === Emacs에서 작업을 하던 도중 다음 날 다시 emacs로 어떤 파일을 편집했는지 기억이 가물 가물할 때가 많습니다. 작업 파일이 1~2개라면 큰 문제가 없으나 10개 이상 넘어가면 기억해 내는 것도 힘듭니다. 이럴 때 편리한 기능이 기대했던 것처럼 emacs에서 역시 기본으로 제공됩니다. * 먼저 ~/.emacs 환경 파일에 다음을 추가합니다. {{{ (add-to-list 'desktop-globals-to-save 'file-name-history) (setq history-length 250) ;; emacs 21.3.50 이전 사용자 (desktop-load-default) (desktop-read) (setq desktop-enable t) ;; emacs 21.3.50 이상 사용자 (desktop-save-mode 1) (desktop-read) }}} * emacs를 실행합니다. * emacs에서 "M-x desktop-save"를 실행합니다. * "destop-save"명령에서 파일명을 지정하지 않으면 현재 디렉토리에 ".emacs.desktop"파일이 생성됩니다. * "desktop-save"명령은 버퍼 목록을 저장하는 파일을 생성하는 목적 외에 더이상 사용할 필요가 없습니다. * 이제 작업하려는 파일 몇가지를 열어 본 후 emacs를 종료합니다. * 종료할 때마다 자동으로 desktop-save가 실행되면서 작업 목록을 저장합니다. * 다시 emacs를 실행합니다. 이제 기존 작업 파일이 자동으로 열려 있는 것을 볼 수 있습니다. emacs를 빠르게 시작하려면 작업 버퍼 목록을 자동으로 가져오지 않도록 "emacs --no-desktop"으로 실행합니다. 버퍼 목록 파일이 저장되지 않은 디렉토리에서 emacs를 시작한다면 버퍼 목록을 가져올 수 없습니다. 그외 몇가지 명령이 지원됩니다. * 작업 버퍼 관리 파일을 지우고 싶다면 "desktop-remove"를 사용합니다. * "*Messages*"버퍼를 제외한 모든 버퍼를 닫고 싶다면 "desktop-clear"를 사용합니다. 자세한 내용과 옵션은 [[http://www.emacswiki.org/cgi-bin/wiki/DeskTop]]를 참고하기 바랍니다. === 윈도우/프레임 상태 저장/복구 === 작업 버퍼 관리 만으로 만족할 순 없습니다. 언제나 emacs를 시작할 때마다 같은 크기 모습으로 윈도우는 하나만 열린 모습을 보게됩니다. X-window에서 작업한다면 여러 윈도우들과 프레임을 사용하던 마지막 작업 모습 그대로 복구하고 싶다는 생각을 자주 하게 됩니다. 운 없게도 기본 emacs에서 제공하는 패키지는 이런 기능을 제공하지 않습니다. 그러나 역시 불편의 발명의 어머니라고 했던가요. 누군가 이미 만들어 놓았습니다. 다음 두 파일을 다운받아 적절한 장소에 설치합니다. * [[http://www.gentei.org/~yuuji/software/windows.el]] * [[http://www.gentei.org/~yuuji/software/revive.el]] 설치 방법과 설정은 두 lisp 파일 상단에 자세하게 설명되어 있습니다. 데비안, 우분투 사용자라면 windows-el 패키지를 설치만으로 모든 작업 완료입니다. emacs 에서 "C-c C-w C-r"키를 입력하거나 "win-resume-menu"를 실행하시면 윈도우 상태 저장/복구 메뉴를 볼 수 있습니다. 명령어를 입력하기 귀찮으시면 메뉴>Buffers>Windows 항목에서 원하는 기능을 선택하면 됩니다. === 기타 === 세션 관리에 대한 자세한 정보나 같은 기능을 제공하는 프로그램들을 보려면 다음 사이트를 참고하기 바랍니다. * [[http://www.emacswiki.org/cgi-bin/wiki/SessionManagement SessionManagement]] * [[http://emacs-session.sourceforge.net/index.html Session Management for Emacs]] 끝 -- bootmeta 작성 ---- CategoryEmacs