Emacsの括弧の対応付け機能は、テキスト中でどのように括弧が 対応しているか自動的に表示するよう設計されています。 閉じ区切りである自己挿入文字を打つと、 それに対応する開き区切りが画面上にあれば、 その箇所にほんのしばらくカーソルが移動します。 画面上になければ、エコー領域にその箇所の近くにある文字列を表示します。 いずれにしても、1つのまとまりが閉じたことが判ります。
Lispでは、括弧だけに対して自動的な対応付けを行います。 Cでは、中括弧や角括弧も対象となります。 Emacsは、メジャーモードが設定する構文テーブルに基づいて、 どの文字が対応関係にある区切りであるか判定します。 See Syntax。
‘[x)’のように、開き区切りと閉じ区切りが対応しない場合、 エコー領域に警告メッセージを表示します。 正しい対応関係は構文テーブルで指定します。
括弧の対応表示を制御する変数は3つあります。
blink-maching-paren
は、対応表示機能をオンまたはオフにします。
nil
を設定すると対応表示機能はオフになりますが、
デフォルトはt
であり、対応表示を行います。
blink-matching-delay
は、対応表示のために待つ秒数を指定します。
デフォルトは1秒ですが、システムによっては何分の1秒のほうが便利かもしれません。
blink-matching-paren-distance
は、
対応している開き区切りをみつけるために、
何文字分まで戻って探索するか指定します。
その範囲内で対応するものがみつからなければ、走査をやめて何も表示しません。
これは、存在しもしない対応する区切りを探すことに
時間を浪費するのを防ぐためです。
デフォルトは12,000です。
Xウィンドウシステムを使用している場合、 対応括弧表示(show-paren)モードにすれば、 より強力な括弧の対応表示を利用できます。 このモードは、通常の対応表示をオフにするかわりに、 対応する括弧同士を示すために強調表示を行います。 ポイントが閉じ括弧の直後にあるときには、 閉じ括弧とそれに対応する開き括弧の両方を強調表示します。 ポイントが開き括弧の直前にあるときには、対応する閉じ括弧を強調表示します。 (ポイントの直後に開き括弧があるときには、 カーソルが開き括弧に重ねて表示されるので、 開き括弧を強調表示する必要はない。) このモードをオン/オフするには、 コマンドM-x show-paren-modeを使います。