Next: , Previous: Program Indent, Up: Programs


20.6 対応している括弧の自動表示

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を使います。