- 追加された行はこの色です。
- 削除された行はこの色です。
Vine Linux 2.6r4にVine PlusからEmacs21,XEmacs21をインストールした記録です. EmacsとXEmacsの違いがちょっとよく分からないんですが,以下のようにインストールするとXEmacs21が起動するようです.
#contents
* パッケージのインストール [#qfbf8357]
apt-getをつかって必要なrpmをインストールします.
$ su
# apt-get update
# apt-get install task-emacs21 etcskel tamago
task-emacs21でEmacs21関連のパッケージがすべて入るようです.XEmacs21も同時に入りました. etcskelはホームディレクトリなどにある.(ドット)ではじまる各種設定ファイルのひながたです. tamagoはEmacs21で使われるかな漢字サーバのフロントエンドです.
* 設定ファイルをホームディレクトリにコピー [#q15bc19e]
Emacs,XEmacsの設定ファイルのひながたは
/etc/skel/
以下にある .emacs,.emacs-color.el,.emacs-faces.el,.emacs-fontset.el, .emacs.el,.xemacs.elです.これらをすべてホームディレクトリにコピーします.
$ cp /etc/skel/.emacs* ~/
$ cp /etc/skel/.xemacs.el ~/
* 起動 [#l995f18c]
コピーしたらとりあえずEmacsを起動してみましょう.
$ emacs
つぎのようにXEmacsが立ち上がると思います.
また,XEmacsではなくEmacsを立ち上げたい場合は
$ emacs-21.2
とします.ただ,設定ファイルの一部でエラーが出たり,文字がつぶれて読みにくかったりするので,素直に$ emacsとしてXEmacsを使ったようがいいようです.以下,XEmacsのことを単にEmacsと呼ぶことがあります.
* emacsコマンドについて [#w94fe300]
emacsコマンドがどこにあるのか調べてみます.
$ which emacs
とすると
/usr/bin/emacs
ですから,/usr/bin以下のemacsが実行されています.さらに
$ ls -l /usr/bin/ | grep emacs
とすると
-rwxr-xr-x 1 root root 5204 Jul 22 2002 b2m.emacs-21.2*
-rwxr-xr-x 1 root root 5120 Apr 29 2002 b2m.xemacs-21.1.14*
lrwxrwxrwx 1 root root 23 Jun 2 2002 emacs -> /etc/alternatives/emacs*
-rwxr-xr-t 2 root root 4019752 Jul 22 2002 emacs-21.2*
-rwxr-xr-x 1 root root 850 Mar 29 2002 emacs-color*
-rwxr-xr-t 2 root root 4019752 Jul 22 2002 emacs.emacs-21.2*
-rwxr-xr-x 1 root root 6784 Jul 22 2002 emacsclient.emacs-21.2*
-rwxr-xr-x 1 root root 66444 Jul 22 2002 etags.emacs-21.2*
-rwxr-xr-x 1 root root 62828 Apr 29 2002 etags.xemacs-21.1.14*
-rwxr-xr-x 1 root root 67180 Jul 22 2002 gctags.emacs-21.2*
-rwxr-xr-x 1 root root 63660 Apr 29 2002 gctags.xemacs-21.1.14*
-rwxr-xr-x 1 root root 14476 Apr 29 2002 gnuclient.xemacs-21.1.14*
-rwxr-xr-x 1 root root 63756 Apr 29 2002 ootags.xemacs-21.1.14*
-rwxr-xr-x 1 root root 3963 Jul 22 2002 rcs-checkin.emacs-21.2*
-rwxr-xr-x 1 root root 3145 Apr 29 2002 rcs-checkin.xemacs-21.1.14*
lrwxrwxrwx 1 root root 24 Nov 6 2002 xemacs -> /etc/alternatives/xemacs*
-rwxr-xr-x 1 root root 4355108 Apr 29 2002 xemacs-21.1.14*
lrwxrwxrwx 1 root root 11 Jun 2 2002 xemacs-color -> emacs-color*
と表示されます./usr/bin/emacsというコマンドは /etc/alternatives/emacsへのシンボリックリンクになっています.さらに
$ ls -l /etc/alternatives/ | grep emacs
で
lrwxrwxrwx 1 root root 23 Jun 15 15:42 emacs -> /usr/bin/xemacs-21.1.14*
lrwxrwxrwx 1 root root 29 Jun 15 15:42 etags -> /usr/bin/etags.xemacs-21.1.14*
lrwxrwxrwx 1 root root 30 Jun 15 15:42 gctags -> /usr/bin/gctags.xemacs-21.1.14*
lrwxrwxrwx 1 root root 35 Jun 15 15:42 rcs-checkin -> /usr/bin/rcs-checkin.xemacs-21.1.14*
lrwxrwxrwx 1 root root 23 Nov 6 2002 xemacs -> /usr/bin/xemacs-21.1.14*
となるので,/etc/alternatives/emacsは/usr/bin/xemacs-21.1.14へのシンボリックリンクになっています. /usr/bin/xemacs-21.1.14は実行バイナリですから,結局これが実行されることになっているようです.
となるので,/etc/alternatives/emacsは/usr/bin/xemacs-21.1.14へのシンボリックリンクになっています. /usr/bin/xemacs-21.1.14は実行バイナリですから,結局これが実行されることになります.
* .xemacs.elのカスタマイズ [#s958cce8]
emacsというコマンドを実行すると,前述の通りXEmacsが起動します. XEmacsは最初に ~/.emacs.el を読み込み,つぎに ~/.xemacs.el を読み込みます(「起動したのがXEmacsなら ~/.xemacs.el を読み込む」という命令が ~/.emacs.el に書いてあるからです).
これらはEmacs Lispという言語で書かれており,その設定をEmacsは読み込みます.なので,~/.xemacs.el に各種設定を書けばEmacsをカスタマイズできます.以下に例を挙げます.赤色で書いている部分が追加・変更した部分です. ~/.xemacs.elファイル内の,それぞれ対応する部分を探して編集します.編集済の完全なファイルを
- &ref(.xemacs.el);
に置いておきます.
** 起動時の画面の大きさを変える [#b53f6d79]
起動時のEmacs画面の大きさは横80字 × 縦40字です.横幅は少し広い方が好きなので変更しました.
;;;画面の色(カーソル:暗い赤色)、サイズ(横:110桁、縦:40行)
(setq default-frame-alist (append (list '(cursor-color . "purple")
'(width . 110)
'(height . 40))
default-frame-alist))
** 自動改行しないようにする [#ca949be5]
デフォルトの設定では一行80字で自動的に改行されてしまいます.勝手に改行されると困ることがあるのでコメントアウトします.
;;; 一行が 80 字以上になった時には自動改行する
;(setq fill-column 80)
;(setq text-mode-hook 'turn-on-auto-fill)
;(setq default-major-mode 'text-mode)
** カラム番号を表示する [#qf596318]
カーソルがある位置が何文字目(何カラム目)なのかを表示させます.
;;; 行数表示
(custom-set-variables '(line-number-mode t)
'(column-number-mode t)
)
** フォントカラーの設定 [#y51d6363]
目が疲れないように画面の背景を黒,文字色を白にしました.それに合わせてキーワード色なども変更しました.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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を開いたものはつぎのようになります.
また,C言語のソースファイルを開いたものはつぎのようになります.
** YaTeXモードの自動改行を無効化 [#i317737f]
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)))
** マクロサーチパスを追加する [#dd9c9141]
コメントを外します.
;;; マクロサーチパスの追加
;;; ~/lib/emacs 以下にユーザ用の *.el, *.elc を置くことができます
(setq load-path (append '("~/lib/emacs") load-path))
** バックアップファイルを勝手につくらないようにする [#k0cfdeaa]
emacsは自動的にファイルのバックアップをとってくれますが,やたらとファイルが増えてあまりうれしくないので,無効にしています.それには下のようにコメントを外します.
;;; *.~ とかのバックアップファイルを作らない
(setq make-backup-files nil)
;;; .#* とかのバックアップファイルを作らない
(setq auto-save-default nil)