;; 1) 외부에서 파일이 수정되었을 때 자동으로 다시 읽어들이도록 하는 설정
(global-auto-revert-mode t)

;; 2) <f5>키에 수동으로 파일을 다시 읽어들이는 기능을 설정 (1번 설정을 하지 않았을 경우 사용)
(global-set-key (kbd "<f5>") 'revert-buffer)

;; 3) 탭 문자 대신 스페이스 문자를 사용. 스페이스 사이즈는 4로 함.
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)

;; 4) <f5>키에 선택한 블럭에 대해 탭 문자를 스페이스로 바꾸는 기능을 설정
(global-set-key (kbd "<f5>") 'untabify)

;; 5) <f5>키에 탭 문자의 사이즈를 4<->8로 토글하는 기능을 설정 (탭 문자 사용시)
(global-set-key (kbd "<f5>") 'tf-toggle-tab-width-setting) ; ' "fix" highlighting
(defun tf-toggle-tab-width-setting ()
    (interactive)
    (setq tab-width (if (= tab-width 8) 4 8))
    (message (number-to-string tab-width))
    (redraw-display))

;; 6) <f5>키에 이전 버퍼로 전환(C-x 왼쪽) 기능을 설정
(global-set-key (kbd "<f5>") 'previous-buffer)

;; 7) <f6>키에 다음 버퍼로 전환(C-x 오른쪽) 기능을 설정
(global-set-key (kbd "<f6>") 'next-buffer)

;; 8) <f5>키에 다른 창으로 전환(C-x o) 기능을 설정
(global-set-key (kbd "<f5>") 'other-window)

;; 9) Alt + 화살표 키를 사용하여 다른 창으로 이동하도록 설정
(windmove-default-keybindings 'meta)

;; 10) 세션 저장하도록 설정
(desktop-save-mode 1)

;; 11) 버퍼 리스트(C-x C-b)에서 버퍼 선택시 같은 창에서 열리도록 설정
(global-set-key "\C-x\C-b" 'buffer-menu)

;; 12) 버퍼 선택(C-x b)시에 가로로 버퍼 리스트를 표시하며 좌우 커서로 스크롤하여 선택가능하게 한다.
;; 파일 선택(C-x f) 모드에서는 폴더내 모든 파일(열지 않았더라도) 사이에서 스크롤하여 선택할 수 있다.
(ido-mode)

;; 13) C-x C-u 시 확인창 안 뜨게 설정
(put 'upcase-region 'disabled nil)

;; 14) C-x C-l 시 확인창 안 뜨게 설정
(put 'downcase-region 'disabled nil)

* <f5> 등 펑션키는 겹쳐지지 않게 적당한 값으로 조정하여 사용한다.


<테스트 환경>
- OS : Windows 7
- Emacs 버전 : Emacs 24.3 윈도우
,