Emacsを起動すると、通常は初期化ファイル(略してinitファイル)からLispプログラムをロードしようとします。このファイルが存在する場合、Emacsをどのように初期化するか、また各種オプション機能をどのようにカスタマイズするかが指定されます。M-x customize(簡単なカスタマイズインターフェースを参照)を使用して行ったカスタマイズも、デフォルトではinitファイルに保存されます(カスタマイズの保存を参照)。
従来、初期化ファイルとしては ~/.emacs が使用されてきましたが、Emacs は ~/.emacs.el、~/.emacs.d/init.el、~/.config/emacs/init.el やその他の場所も参照します。Emacs が初期化ファイルを探す仕組み を参照してください。
Emacsの設定をすべて一つのディレクトリにまとめておくと便利な場合があります。その場合は、~/.emacs.d/init.el または XDG準拠の ~/.config/emacs/init.el を使用してください。
コマンドラインスイッチ ‘-q’ を使用して init ファイルの読み込みを禁止したり、‘-u’(または ‘--user’)を使用して別のユーザーの init ファイルを指定したりできます(初期オプションを参照)。
また、デフォルトのinitファイルが存在する場合もあります。これはdefault.elという名前のライブラリで、標準のライブラリ検索パスを通じて見つかります。Emacsディストリビューションにはこのようなライブラリは含まれていません。ローカルでのカスタマイズのために、自身で作成することも可能です。このライブラリが存在する場合、Emacsを起動するたびにロードされます(‘-q’を指定した場合を除きます)。ただし、initファイルがある場合はそれが先にロードされます。もしそのファイルでinhibit-default-initをnon-nilに設定していれば、defaultはロードされません。
お使いのサイトにはサイト起動ファイルがある場合もあります。存在する場合、そのファイル名はsite-start.elとなります。default.elと同様に、EmacsはこのファイルをLispライブラリの標準検索パス経由で探します。Emacsは、initファイルを読み込む前にこのライブラリを読み込みます。このライブラリの読み込みを抑制するには、オプション‘--no-site-file’を使用してください。初期オプションを参照してください。一部のユーザーが好まない可能性のある変更にsite-start.elを使用することは推奨しません。ユーザーがより簡単に上書きできるよう、default.elに記述するのが望ましいです。
default.el と site-start.el は、Emacs が Lisp
ライブラリを検索する任意のディレクトリに配置できます。変数 load-path(Emacs 用 Lisp コードライブラリ
を参照)でこれらのディレクトリを指定します。多くのサイトでは、/usr/local/share/emacs/site-lisp のように、Emacs
のインストールディレクトリ内にある site-lisp
という名前のサブディレクトリにこれらのファイルを配置しています。
initファイルのバイトコンパイルは推奨されません(Emacs Lisp Reference ManualのByte Compilationを参照してください)。一般的に起動速度はそれほど向上せず、ファイルの再コンパイルを忘れると問題が発生することがよくあります。より優れた解決策は、Emacsサーバーを使用してEmacsを起動する回数を減らすことです(Using Emacs as a Serverを参照してください)。initファイルで多くの関数を定義している場合は、それらを別の(バイトコンパイル済みの)ファイルに移動し、initファイルでそのファイルを読み込む方法を検討してください。
軽微なカスタマイズの域を超えた本格的なEmacs Lispプログラムを記述するのであれば、Emacs Lisp Reference Manualを読むべきです。Emacs Lisp Reference ManualのEmacs Lispを参照してください。