以下は変数またはユーザーオプションが、カスタマイズバッファーではどのように表示されるかの例です:
[Hide] Kill Ring Max: Integer (positive or zero): 120 [State]: STANDARD. Maximum length of kill ring before oldest elements are thrown away.
最初の行には、この変数の名前がkill-ring-max
であることが、見やすいよう‘Kill Ring
Max’のようにフォーマットされて、期待されるタイプ(0以上の整数)とともに表示されています(デフォルト値は‘120’)。‘[Hide]’というラベルのボタンは、アクティブにした場合は、この変数の値とステートを隠します。これは、変数がもし非常に長い値をもつ場合、カスタマイズバッファーが見にくくなるのを避けるために便利です(この理由により、非常に長い値をもつ変数は、最初は隠されています)。‘[Hide]’ボタンを使用すると、ボタンは‘[Show
Value]’に変化し、これをアクティブにすると値とステートが表示されます。グラフィカルなディスプレイでは、‘[Hide]’と‘[Show
Value]’ボタンは、下向きまたは右向きのグラフィカルな三角形で置き換えられます。
変数名の次の行は、変数のカスタマイズ状態(customization state)を示します。この例では‘STANDARD’で、これは変数を変更していないので、値はデフォルトのままだということを意味します。‘[State]’ボタンは、変数をカスタマイズするためのオペレーションメニューを提供します。
カスタマイズのステートの下は、変数のドキュメントです。これはC-h vコマンド(変数の確認とセットを参照してください)で表示されるのと同じドキュメントです。ドキュメントが複数行の場合、1行だけが表示されます。この場合、その行の最後に‘[More]’ボタンが表示されるので、これをアクティブにすれば完全なドキュメントを表示できます。
‘Kill Ring Max’に新しい値を入力するには、値にポイントを移動してそれを編集するだけです。たとえばM-dとタイプして‘60’を削除して、別の値をタイプします。テキストの変更を開始すると、‘[State]’行が変化します:
[State]: EDITED, shown value does not take effect until you set or save it.
値を編集してもすぐに変更は反映されません。変更を反映するには、‘[State]’をアクティブにして、‘Set for Current Session’を選択することにより、変数をセット(set)しなければなりません。すると変数のステートは以下のようになります:
[State]: SET for current session only.
無効な値を指定してしまうことを心配する必要はありません。‘Set for Current Session’オペレーションは正当性をチェックして、不当な値はインストールしません。
ファイル名、ディレクトリー名、Emacsコマンドのようなタイプの値を編集するときは、C-M-i
(widget-complete
)、または等価なキーM-TAB、ESC
TABで補完を行なうことができます。これはミニバッファーでの補完と同じように振る舞います(補完を参照してください)。
編集可能な値フィールドでRETとタイプすることにより、TABのように、次のフィールドまたはボタンに移動できます。したがってフィールドの編集を終えたらRETとタイプして、次のボタンまたはフィールドに移動できます。編集可能なフィールドに改行を挿入するには、C-oまたはC-q C-jを使用します。
あらかじめ決められた値しかセットできず、値を直接編集することができない変数もいくつかあります。そのような変数の値の前には、かわりに‘[Value Menu]’ボタンが表示されます。このボタンをアクティブにすると、値の選択肢が表示されます。“onかoff”のブーリーン値にたいしては、‘[Toggle]’ボタンが表示され、このボタンにより値のオンとオフを切り替えることができます。‘[Value Menu]’ボタンや‘[Toggle]’ボタンを使用した後は、変数をセットして、選択した値を反映するために、再度値をセットしなければなりません。
複雑な構造の値をもつ変数もいくつか存在します。たとえば、minibuffer-frame-alist
の値は連想配列(association
list、alist)です。これはカスタマイズバッファーでは、以下のように表示されます:
[Hide] Minibuffer Frame Alist:
[INS] [DEL] Parameter: width
Value: 80
[INS] [DEL] Parameter: height
Value: 2
[INS]
[ State ]: STANDARD.
Alist of parameters for the initial minibuffer frame. [Hide]
[...more lines of documentation...]
この場合、リストの各association要素は2つのアイテムからなり、1つは‘Parameter’というラベルがつき、もう1つは‘Value’というラベルがつき、両方とも編集可能フィールドです。となりにある‘[DEL]’ボタンでリストからassociationを削除できます。associationを追加するには、挿入したい位置の‘[INS]’ボタンを使用します。一番最後の‘[INS]’ボタンはリストの最後に挿入します。
変数をセットした場合、新しい値はカレントEmacsセッションでだけ効果があります。将来のセッションのために値を保存(save)するには、‘[State]’ボタンを使用して、‘Save for Future Sessions’オペレーションを選択します。カスタマイズの保存を参照してください。
‘[State]’ボタンを使用して‘Erase Customization’オペレーションを選択することにより、変数の値をその変数の標準値に復元することもできます。実際には4つのリセットオペレーションがあります:
値を変更したが、まだ変数をセットしていない場合は、実際の値にマッチするようにバッファーのテキストを復元します。
これは、変更された変数がある場合は、変数の値を最後に保存された値に復元し、それ以外は標準の値に復元します。テキストも復元された変数に合わせて更新します。
これは変数をその変数の標準値にセットします。保存した値も削除します。
これはこのセッションでカスタマイズバッファーでセットされる前の値に、変数をリセットします。変数をカスタマイズしてからリセットすると、これはカスタマイズした値を破棄するので、このオペレーションにより、破棄した値に戻すことができます。
特定のカスタマイズにたいして、コメントを記録できれば便利なこともあります。コメントを入力するフィールドを作成するには、‘[State]’メニューの‘Add Comment’アイテムを使用します。
カスタマイズバッファーの上部には2行のボタン行があります:
Operate on all settings in this buffer: [Revert...] [Apply] [Apply and Save]
‘[Revert...]’ボタンは、上述で説明したうち、最初の3つのリセット操作をドロップダウンします。‘[Apply]’ボタンは、カレントセッションにセッティングを適用します。‘[Apply and Save]’ボタンはセッティングを適用して、将来のセッションのためにそれらのセッティングを保存します。このボタンは、Emacsが-qまたは-Qのオプションで開始された場合は表示されません(初期化オプションを参照)。
コマンドC-c C-c (Custom-set
)は、‘[Set for Current
Session]’ボタンを使用するのと等価です。コマンドC-x C-s (Custom-save
)は、‘[Save
for Future Sessions]’ボタンを使用するのと同様です。
‘[Exit]’ボタンはカスタマイズバッファーを、バッファーリストの最後のバッファーに隠し(bury)ます。カスタマイズバッファーをkillさせるようにするには、変数custom-buffer-done-kill
をt
に変更します。