Previous: , Up: Customization   [Contents][Index]


49.4 Emacs初期化ファイル

Emacsを開始したとき、Emacsは通常、初期化ファイル(initialization file)、短くはinitファイルから、Lispプログラムのロードを試みます。このファイルは、もし存在する場合は、Emacsをどのように初期化するかを指定します。Emacsはファイル名~/.emacs~/.emacs.el~/.emacs.d/init.elを使用してinitファイルを探します。これら3つのファイル名から、使用するものを選択できます(Find Initを参照してください)。ここで~/は、ホームディレクトリーを意味します。

コマンドラインスイッチ‘-q’により、initファイルのロードを抑止でき、‘-u’ (または‘--user’)で、別のユーザーのinitファイルを指定できます(Initial Optionsを参照してください)。

デフォルトinitファイルが存在する場合もあります。これはdefault.elという名前のライブラリーで、ライブラリーにたいする標準の検索パスから探されます。Emacsディストリビューションには、そのようなライブラリーは含まれていませんが、あなたのサイトは、ローカルなカスタマイズのためにこれを作成しているかもしれません。このライブラリーが存在する場合、Emacsを開始したときは常にこれがロードされます(ただし‘-q’を指定した場合は除きます)。しかしinitファイルがあれば、それが最初にロードされるので、そこでinhibit-default-initに非nilをセットすれば、デフォルトinitファイルはロードされません。

あなたのサイトにはサイトスタートアップファイル(site startup file)もあるかもしれません。もし存在する場合、これはsite-start.elという名前です。default.elと同様に、Emacsはこのファイルを、Lispライブラリーにたいする標準の検索パスから探します。Emacsはこのライブラリーをinitファイルの前にロードします。このライブラリーのロードを抑止するには、オプション‘--no-site-file’を使用します。Initial Optionsを参照してください。わたしたちは何かを変更する場合、site-start.elの使用を推奨しません。これを好まないユーザーもいるからです。変更をdefault.elに記述すれば、ユーザーはもっと簡単にそれをオーバーライドできます。

default.elsite-start.elは、EmacsがLispライブラリーを検索する任意のディレクトリーに配置できます。変数load-path (Lisp Librariesを参照してください)は、これらのディレクトリーを指定します。多くのサイトはこれらのファイルを、Emacsのインストールディレクトリーの中の、site-lisp(たとえば/usr/local/share/emacs/site-lisp)に配置します。

initファイルにたいするバイトコンパイル(Byte Compilation in the Emacs Lisp Reference Manualを参照してください)は推奨されていません。一般的にこれは開始時のスピードの大幅な改善はせず、ファイルをリコンパイルするのを忘れたときに問題を起こすことが多いのです。よりよい解決策は、Emacsサーバー(Emacs Serverを参照してください)を使用して、Emacsを開始する回数を減らすことです。initファイルで多くの関数を定義している場合、これらを(バイトコンパイルされた)別のファイルに移動して、それをinitファイルでロードします。

マイナーなカスタマイズを超えるような、実際のEmacs Lispプログラムを記述するつもりなら、Emacs Lisp Reference Manualを読むべきでしょう。 Emacs Lisp in the Emacs Lisp Reference Manualを参照してください。