カスタマイズバッファにおける変数(またはユーザーオプション)の表示例を以下に示します。
[Hide] Kill Ring Max: Integer (positive or zero): 120 [State]: STANDARD. Maximum length of kill ring before oldest elements are thrown away.
1行目には、変数名が kill-ring-max であり、視認性を高めるために
‘Kill Ring Max’
と表記されていること、およびその想定型(正の整数または0)が示されています。デフォルト値は ‘120’ です。C-c TAB (Custom-goto-first-choice)
を使用すると、値へ直接移動できます。‘[Hide]’
と表記されたボタンを有効にすると、変数の値と状態が非表示になります。これは、非常に長い値によってカスタマイズバッファが煩雑になるのを防ぐのに便利です(このため、非常に長い値を持つ変数は、最初から非表示になっている場合があります)。‘[Hide]’ ボタンを使用すると、ボタンが ‘[Show Value]’
に変わり、これを有効にすることで値と状態を表示できます。グラフィカルディスプレイでは、‘[Hide]’ および ‘[Show
Value]’ ボタンは、それぞれ下方向と右方向を指したグラフィカルな三角形に置き換えられます。
変数名の後に続く行は、その変数のカスタマイズ状態を示しています。この例では、‘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’を選択することで、変数を設定する必要があります。すると、変数の状態は次のようになります:
[State]: SET for current session only.
無効な値を指定することを心配する必要はありません。「Set for Current Session」演算が妥当性をチェックし、許容できない値はインストールしません。
ファイル名、ディレクトリ名、Emacsコマンド名といった特定の種類の値を編集する際、C-M-i
(widget-complete) または対応するキー M-TAB や ESC TAB
で補完を行うことができます。これはミニバッファによる補完(Completion を参照)とほぼ同様に動作します。
編集可能な値フィールドで RET と入力すると、TAB と同様にカーソルが次のフィールドやボタンへ移動します。したがって、フィールドの編集が完了した際に RET と入力することで、次のボタンやフィールドへ移動できます。編集可能なフィールド内に改行を挿入するには、C-o または C-q C-j を使用してください。
一部の変数には、有効な値が固定で定められており、値を直接編集することはできません。代わりに、値の前に「[Value Menu]」ボタンが表示され、このボタンを押すと値の選択肢が現れます。ブール型の「オンまたはオフ」の値の場合、ボタンには「[Toggle]」と表示され、値を反転させます。「[Value Menu]」または「[Toggle]」ボタンを使用した後は、選択した値を反映させるために、再度変数を設定する必要があります。
一部の変数は、複雑な構造を持つ値を持ちます。例えば、minibuffer-frame-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...]
この場合、リスト内の各関連付けは、‘Parameter’と‘Value’というラベルが付いた2つの項目で構成されており、いずれも編集可能なフィールドです。リストから関連付けを削除するには、その横にある‘[DEL]’ボタンを使用します。関連付けを追加するには、挿入したい位置にある‘[INS]’ボタンを使用してください。一番最後の‘[INS]’ボタンを使用すると、リストの末尾に挿入されます。
変数を設定すると、新しい値は現在のEmacsセッションでのみ有効になります。今後のセッションでもその値を保存するには、‘[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]’ ボタンを使用することと同様です。同様に、C-c
C-k (Custom-reset-standard) は、‘[Revert...]’ ボタンを使用することと同様です。
「[Exit]」ボタンはカスタマイズバッファを終了し、そのバッファをバッファリストの末尾に格納します。代わりにカスタマイズバッファを破棄するには、変数
custom-buffer-done-kill を t に変更してください。