.xemacs.elのカスタマイズ

emacsというコマンドを実行すると,前述の通りXEmacsが起動します. XEmacsは最初に ~/.emacs.el を読み込み,つぎに ~/.xemacs.el を読み込みます(「起動したのがXEmacsなら ~/.xemacs.el を読み込む」という命令が ~/.emacs.el に書いてあるからです).

これらはEmacs Lispという言語で書かれており,その設定をEmacsは読み込みます.なので,~/.xemacs.el に各種設定を書けばEmacsをカスタマイズできます.以下に例を挙げます.赤色で書いている部分が追加・変更した部分です. ~/.xemacs.elファイル内の,それぞれ対応する部分を探して編集します.

起動時の画面の大きさを変える

起動時のEmacs画面の大きさは横80字 × 縦40字です.横幅は少し広い方が好きなので変更しました.

;;;画面の色(カーソル:暗い赤色)、サイズ(横:110桁、縦:40行)

(setq default-frame-alist (append (list '(cursor-color . "purple")
                                        '(width .  110)
                                        '(height . 40))
                                  default-frame-alist))

自動改行しないようにする

デフォルトの設定では一行80字で自動的に改行されてしまいます.勝手に改行されると困ることがあるのでコメントアウトします.

;;; 一行が 80 字以上になった時には自動改行する
;(setq fill-column 80)
;(setq text-mode-hook 'turn-on-auto-fill)
;(setq default-major-mode 'text-mode)

カラム番号を表示する

カーソルがある位置が何文字目(何カラム目)なのかを表示させます.

;;; 行数表示

(custom-set-variables '(line-number-mode t)
		      '(column-number-mode t)
		      )

フォントカラーの設定

目が疲れないように画面の背景を黒,文字色を白にしました.それに合わせてキーワード色なども変更しました.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; XEmacs のフォント/カラー設定
;; (color-mate を使わない時に色をつける設定.)
;; XEmacs には hilit19 がないので,色はつきませんが,
;; 代りに font-lock を使って簡易ですが色をつけられます.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;(set-face-foreground 'default "black" nil '(x color))
;(set-face-background 'default "#eeeeff" nil '(x color))

; 前景色
(set-face-foreground 'default "white" nil '(x color))

; 背景色
(set-face-background 'default "#333333" nil '(x color))

;; face色の変更
;; M-x list-faces-displayで設定一覧
;; M-x list-colors-displayで色の一覧
(require 'font-lock)

; 太字
(set-face-foreground 'bold "darksalmon" nil '(x color))

; コメント
(set-face-foreground 'font-lock-comment-face "#aaaaaa" nil '(x color))

; その他キーワード
(set-face-foreground 'font-lock-preprocessor-face "khaki" nil '(x color))
(set-face-foreground 'font-lock-reference-face "skyblue" nil '(x color))
(set-face-foreground 'font-lock-function-name-face "orange" nil '(x color))
(set-face-foreground 'font-lock-keyword-face "yellow3" nil '(x color))
(set-face-foreground 'font-lock-doc-string-face "yellowgreen" nil '(x color))
(set-face-foreground 'font-lock-string-face "palegreen" nil '(x color))
(set-face-foreground 'font-lock-type-face "#aaaaff" nil '(x color))
(set-face-foreground 'font-lock-variable-name-face "plum" nil '(x color))

; 撰択範囲
(set-face-foreground 'zmacs-region "black" nil '(x color))
(set-face-background 'zmacs-region "paleturquoise" nil '(x color))

(setq font-lock-verbose nil)
(put 'yatex-mode 'font-lock-defaults 'tex-mode)
(put 'yahtml-mode 'font-lock-defaults 'html-mode)

この設定で.xemacs.elを開いたものはつぎのようになります.

fig1.png

また,C言語のソースファイルを開いたものはつぎのようになります.

fig2.png

YaTeXモードの自動改行を無効化

TeXの編集モードであるYaTeXでも80行で自動的に改行されてしまいます. 80行にこだわる必要はないので,この機能は無効にします.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; YaTeX 1.67
;;   [La]TeX 入力モード
;;   M-x yatex とするか、.tex で終わるファイルを読み込むと起動します
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)

;; YaTeX-mode
(setq auto-mode-alist
      (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(setq dvi2-command "xdvi"
      tex-command "platex"
      dviprint-command-format "dvips %s | lpr"
      YaTeX-kanji-code 3)

;; 自動改行を無効
(add-hook 'yatex-mode-hook'(lambda ()(setq auto-fill-function nil)))

マクロサーチパスを追加する

コメントを外します.

;;; マクロサーチパスの追加
;;; ~/lib/emacs 以下にユーザ用の *.el, *.elc を置くことができます
(setq load-path (append '("~/lib/emacs") load-path))

バックアップファイルを勝手につくらないようにする

emacsは自動的にファイルのバックアップをとってくれますが,やたらとファイルが増えてあまりうれしくないので,無効にしています.それには下のようにコメントを外します.

;;; *.~ とかのバックアップファイルを作らない
(setq make-backup-files nil)

;;; .#* とかのバックアップファイルを作らない
(setq auto-save-default nil)
Valid XHTML 1.1! home > コンピュータ > Linux >
リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.3.29HTML convert time to 0.011 sec.