.emacs
혹은 _emacs
)을 재로딩 하려면 eval-buffer
명령으로 설정 dotemacs의 내용을 실행시키던가 Emacs를 재구동 시키던가의 방법을 써야 된다. (이 외에 다른 방법도 있었던 것 같은데 기억이 안난다)그래서 dotemacs를 재로딩 하는 함수를 만들고 이를 이용하고자 했다. elisp에 약한 터라 찾아보니 이미 예제가 웹에 있더라.
하지만 약간의 문제(win32에서는
.emacs
혹은 _emacs
로 dotemacs의 이름이 약간 다를 수도 있다)로 인해 elisp 공부하는 겸 수정한 버전이다.안예쁘고 비효율적으로 코딩했지만 아직 elisp은 초보니 양해를…
(defun reload-dotemacs () "Reload .emacs" (interactive) (let (dotemacs-default dotemacs-window) (setq dotemacs-default "~/.emacs") (setq dotemacs-window "~/_emacs") (if (file-exists-p dotemacs-default) (progn (message "Load %s" dotemacs-default) (load-file dotemacs-default) ) (if (file-exists-p dotemacs-window) (progn (message "Load %s" dotemacs-window) (load-file dotemacs-window) ) (message "Could not found dotemacs") ))))
이 코드를 초기화 스크립트에 넣어두면 적용된다.
이 후 dotemacs를 수정하고 다시 로딩하기 위해서는
m-x reload-dotemacs
를 눌러주기만 하면 땡. 하지만 초기화한 후 로딩하는게 아니니 그 점은 이해할 것.
감사합니다.잘쓰겠씁니다. 나도 좀 배워야 하는데..
답글삭제