XEmacs-HOWTO
XEmacs-HOWTO
리눅스, 유닉스의 X Window, MS Windows에서 사용가능한 Emacs.
Emacs는 너무 유명하기 때문에 따로 설치하는 방법은 설명하지 않겠습니다. 리눅스, 유닉스, 윈도우 종류를 가리지 않고 모든 운영체제 및 배포판의 패키지를 제공하고 있습니다.
XEmacs는 GNU Emacs보다 더 자세한 GUI 인터페이스를 제공하고 있습니다. 초보자들이 쉽게 접근할 수 있는 장점이 있습니다.
이 문서를 보시고 알고 계시는 Emacs의 유용한 명령, 사용법 등을 함께 만들었으면 합니다.
2. 주제 ¶초보자를 대상으로 XEmacs를 최소한으로 사용할 수 있을 정도로 설명하는 것입니다. 가장 기초적인 소스 코드 에디트를 위주로 하겠습니다.
이 문서에서는 리눅스, 유닉스를 기준으로 하겠습니다.
4. 기본 설정 ¶사용자 홈 디렉토리의
.emacs 파일이 설정 파일입니다. GNU Emacs와 공용으로 사용할 수 있습니다. XEmacs 전용 설정 파일은 .xemacs/ 디렉토리 아래에 있습니다.
.emacs
;;; XEmacs backwards compatibility file
; XEmacs의 설정 파일을 연결합니다. (setq user-init-file (expand-file-name "init.el" (expand-file-name ".xemacs" "~"))) (setq custom-file (expand-file-name "custom.el" (expand-file-name ".xemacs" "~"))) (load-file user-init-file) (load-file custom-file) ;; 아래부터는 각자 개인 설정 입니다. ;; 백업 파일 만들지 않기 ;; (setq make-backup-files nil) ;; 한글 설정 ;; (require 'cl) (when enable-multibyte-characters (set-language-environment "Korean") (setq-default file-name-coding-system 'euc-kr) ;; the following setting is unnecessary from 20.5 > (when (string-match "^3" (or (getenv "HANGUL_KEYBOARD_TYPE") "")) (setq default-korean-keyboard "3")) (setq input-method-verbose-flag nil input-method-highlight-flag nil) (prefer-coding-system 'euc-kr) (set-default-coding-systems 'euc-kr) ;;(setq default-process-coding-system '(euc-kr . euc-kr)) (if window-system (global-set-key "\C-\\" 'undefined) (global-set-key "\C-\\" 'toggle-korean-input-method )) (add-hook 'quail-inactivate-hook 'delete-quail-completions) (defun delete-quail-completions () (when (get-buffer "*Quail Completions*") (kill-buffer "*Quail Completions*"))) ;; emacs 21 or later, xim is usable (set-keyboard-coding-system 'euc-kr) (when (assq 'encoded-kbd-mode minor-mode-alist) (setf (second (assq 'encoded-kbd-mode minor-mode-alist)) "")) (unless window-system (set-terminal-coding-system 'euc-kr) (when (boundp 'encoded-kbd-mode-map) (define-key encoded-kbd-mode-map [27] nil))) ;; in case default doesn't work ;;(set-selection-coding-system 'ctext) ;; Hangul Mail setting (setq-default sendmail-coding-system 'euc-kr) ;; turn off C-h during input -- this code should be invoked after ;; loading quail but before loading specific keymap (require 'quail) (loop for kpair in '(("C-h" . quail-delete-last-char) ("C-?" . quail-delete-last-char) ("C-SPC" . set-mark-command) ("<f1>" . quail-translation-help)) do (define-key quail-translation-keymap (read-kbd-macro (car kpair)) (cdr kpair)) do (define-key quail-conversion-keymap (read-kbd-macro (car kpair)) (cdr kpair))) (define-key global-map (kbd "C-x RET s") 'decode-coding-region) ;; hangul <-> english auto conversion ;;(when window-system (require 'hangul-auto)) ) 아래 파일은 XEmacs 전용 설정입니다.
.xemacs/init.el
(setq inhibit-default-init t) ;
;; 아래부터는 각자 개인 설정 입니다. ;; 마우스 휠 설정 ;; (global-set-key [mouse-4] 'scroll-down) (global-set-key [mouse-5] 'scroll-up) ;; 항상 문법 강조 ;; (font-lock-mode 'font) ;; 배경색 설정, 배경색은 검정, 글자색은 회색으로 설정 ;; (set-face-foreground 'default "gray80") (set-face-background 'default "black") ;; Syntax highlighting 색 설정입니다. 마음에 드는 색깔을 설정합니다. ;; ;; 이 설정이 없으면 XEmacs의 기본 색 설정을 따릅니다. ;; ; Syntax highlighting. Dark background. ; Insert this in .emacs. Then restart XEmacs. (custom-set-faces '(default ((t (:foreground "gray80" :background "black" :size "15" :family "Fixed"))) t) '(cperl-array-face ((t (:foreground "orangered" t)))) '(cperl-hash-face ((t (:foreground "Red" t)))) '(cperl-nonoverridable-face ((t (:foreground "orange" t)))) '(custom-button-face ((t (t :foreground "#3fdfcf")))) '(custom-group-tag-face ((t (:underline t :foreground "blue")))) '(custom-saved-face ((t (:underline t :foreground "orange")))) '(custom-state-face ((t (:foreground "green3")))) '(custom-variable-button-face ((t (t :underline t :foreground "white")))) '(dired-face-permissions ((t (:foreground "green")))) '(font-lock-comment-face ((t (:foreground "#52ffff")))) '(font-lock-doc-string-face ((t (:foreground "Wheat3")))) '(font-lock-function-name-face ((t (:foreground "gray80" t)))) '(font-lock-keyword-face ((t (:foreground "green")))) '(font-lock-preprocessor-face ((t (:foreground "#5255ff" t)))) '(font-lock-reference-face ((t (:foreground "orangered")))) '(font-lock-string-face ((t (:foreground "#ff55ff")))) '(font-lock-type-face ((t (:foreground "green" t)))) '(font-lock-variable-name-face ((t (:foreground "gray80" t)))) '(font-lock-warning-face ((t (:foreground "Violetred" t)))) '(highlight ((t (:foreground "red3" :background "white"))) t) '(isearch ((t (:foreground "red" :background "white"))) t) '(list-mode-item-selected ((t (:foreground "green"))) t) '(message-cited-text ((t (t :italic nil)))) '(secondary-selection ((t (:foreground "white" :background "red"))) t) '(text-cursor ((t (:foreground "black" :background "green"))) t) '(zmacs-region ((t (:background "RoyalBlue"))) t) ) X에서 사용하는 폰트를 사용할 수 있습니다. 자신이 가진 폰트를 알맞게 지정하면 됩니다.
.xemacs/custom.el
;; 영문 폰트 지정 ;;
(set-face-font 'default '("-misc-fixed-medium-r-*-*-15-*-*-*-*-*-iso8859-*") 'prepend) ;; 한글 폰트 지정 ;; (set-face-font 'default '("-hanyang-gulim-medium-r-normal--14-*-*-*-*-*-ksc5601.1987-*") 'global '(mule-fonts) 'prepend) 6. 한글 입력 ¶nabi, imhangul, ami등의 한글 입력기로 한글 입력이 가능합니다.
Emacs의 다국어 입력 모듈 Mule를 사용하려면 C-\로 한영 변환을 합니다. 한글 입력기쪽 보다 Mule로 입력하는 것이 좀더 부드럽습니다.
|