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로 입력하는 것이 좀더 부드럽습니다.
|
Let a fool hold his tongue and he will pass for a sage. |










