51.4.4 Emacsがinitファイルを探す方法

通常だとEmacsはホームディレクトリー配下からinitファイルを探します25Emacs初期化ファイルを参照してください。

Emacsは~/.emacs.el~/.emacs~/.emacs.d/init.elというファイル名で、この順序でinitファイルを探します。これらの名前のどれを使用するか選択できます(ホームディレクトリー直下の場所だけが場所のベース名として先頭にドットをもつことに注意)。

EmacsはXDG互換の場所でもinit.elを探します。デフォルトはディレクトリー~/.config/emacsです。これは環境変数XDG_CONFIG_HOMEをセットしてオーバーライドできます。この値はデフォルトのXDG initファイルの名前の~/.configを置き換えます。しかし~/.emacs.d~/.emacs~/.emacs.elが存在する場合には常に優先されます。これはXDGロケーションを使用するためには、それらの削除やリネームを行わなければならないことを意味します。

XDGロケーションと~/.emacs.dがいずれも存在しなければEmacsが~/.emacs.dを作成(したがって以降の呼び出しの間もそれが使用される)することにも注意してください。

Emacsは使用することに決定したディレクトリーをuser-emacs-directoryにセットします。こそれ以降このディレクトリーはcustom-file (カスタマイズの保存を参照)や、デスクトップの保存(Emacsセッションの保存を参照)等に使用されます。コマンドラインオプション--init-directory (初期化オプションを参照)は、上述したinitファイル検索の副作用として決定されるuser-emacs-directoryの値をオーバーライドします。

これがたとえ古いバージョンのEmacsにたいする後方互換性のためだとしても、モダンなPOSIXプラットフォームは初期化ファイルを~/.configの配下に配置することを優先するので、誤ったinitファイルに起因する問題のトラブルシューティングやinitファイルコレクションのアーカイブはそのディレクトリーのリネームにより行うことができます。古いバージョンのEmacsがそれらのカレントのデフォルト位置で設定ファイルを見つけるのを助けるために、以下のEmacs Lispコードを実行することができます:

(make-symbolic-link ".config/emacs" "~/.emacs.d")

しかしsuで開始されたシェルからEmacsを実行して環境変数XDG_CONFIG_HOMEが未セットなら、Emacsは現在の見かけのユーザーではなく、あなた自身の初期化ファイルを探すことを試みます。このアイデアは、たとえスーパーユーザーとして実行しているときでも、自分のエディターカスタマイズを取得するべきだという考えです。

より正確には、最初にEmacsはどのユーザーのinitファイルを使用するか決定します。Emacsは環境変数LOGNAMEUSERからユーザー名を取得します。どちらも存在しない場合、実効ユーザーIDを使用します。ユーザー名が実ユーザーIDとマッチしたとき、EmacsはHOMEを使用します。そうでない場合、Emacsはシステムのユーザーデータベースの、そのユーザー名に対応するホームディレクトリーを探します。

簡略化のためにEmacsドキュエントの残りの部分では、一般的にはinitファイルにたいして単にカレントデフォルト位置~/.emacs.d/init.elを使用します。


Footnotes

(25)

MS-Windowsではすべてのプログラムによってユーザーの“ホームディレクトリー”とみなされるような単一のディレクトリーは存在しません。Emacsはあなたのホームディレクトリーとして相応しいようなディレクトリーのうちの1つを使用します。詳細についてはMS-WindowsでのHOMEディレクトリーと開始ディレクトリーを参照してください。

This page has generated for branch:work/emacs-30_69b16e5c63840479270d32f58daea923fe725b90, commit:5e3f74b56ff47b5bcef2526c70f53f749bbd45f6 to check Japanese translation.