initファイルには、1つ以上のLisp式が含まれています。式のそれぞれは引数をともなう関数名で、それらはすべてカッコで括られています。たとえば(setq
fill-column
60)
は、変数fill-column
(テキストのフィルを参照してください)を60にセットするために、関数setq
を呼び出します。
setq
で任意のLisp変数をセットできますが、initファイルの特定の変数にたいして、setq
は多分あなたの望むとおりには動作しないでしょう。いくつかの変数はsetq
でセットしたとき、自動的にバッファーローカルになります。あなたが望むのは、initファイルでデフォルト値をセットすることなので、setq-default
を使用します(以下のセクションには両方の方法の例あり)。
マイナーモードのカスタマイズ可能な変数のいくつかはCustomizeでセットするとモードを有効にするために特別なことを行ないますが、通常のsetq
ではそれを行ないません。initファイルでモードを有効にするには、マイナーモードコマンドを呼び出します。最後に複雑な方法で初期化される少数のカスタマイズ可能なユーザーオプションはCustomizeインターフェイス(カスタマイズを参照)、あるいはcustomize-set-variable
かsetopt
(変数の確認とセットを参照)を使用してセットする必要があります。
setq
の2番目の引数は、変数にたいする新しい値の式です。これには、定数、変数、関数呼び出し式を指定できます。initファイルでは、定数が使用される場合がほとんどです。これは以下のとおりです:
数字は10進で記述され、オプションで最初にマイナス記号がある場合があります。
Lispの文字列構文は、少数の例外を除き、Cの文字列構文と同じです。文字列定数の開始と終了にはダブルクォートを使用します。
文字列には改行を含む、特別なリテラル文字を含めることができます。しかし、それらにたいして、バックスラッシュシーケンスを使う方が明確になる場合が多くあります。改行は‘\n’、バックスペースは‘\b’、キャリッジリターンは‘\r’、タブは‘\t’、フォームフィード(control-L)は‘\f’、エスケープは‘\e’、バックスラッシュは‘\\’、ダブルクォートは‘\"’、そして8進コードがoooの文字は‘\ooo’です。バックスラッシュとダブルクォートだけは、バックスラッシュシーケンスが必須な文字です。
‘\C-’はコントロール文字のプレフィクスとして使用でき、‘\C-s’はASCIIのcontrol-Sです。‘\M-’はメタ文字のプレフィクスとして使用でき、‘\M-a’はMeta-Aで、‘\M-\C-a’はCtrl-Meta-Aです。
initファイルに非ASCII文字を含めるための情報は、initファイル内の非ASCII文字を参照してください。
Lispの文字定数の構文は、たとえば?x
、?\n
、?\"
、?\)
のように、文字‘?’と、その後ろに文字または‘\’で始まるエスケープシーケンスからなります。Lispでは、文字列と文字は置き換え可能ではないことに注意してください。あるコンテキストでは一方が、他のコンテキストでは他方が要求されます。
非ASCII文字を送るキーにコマンドをバインドする情報については、initファイル内の非ASCII文字を参照してください。
t
は“true(真)”という意味です。
nil
は“false(偽)”という意味です。
シングルクォートに続けてLispオブジェクトを記述します。
Emacs Lisp構文についての詳細な情報はIntroduction in The Emacs Lisp Reference Manualを参照してください。