GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Matching.html ・ emacs-doc.conao3.com

28.4.3 対応括弧

Emacsには数多くの括弧の対応関係表示機能が備わっており、括弧(あるいはその他の対になる区切り文字)がどのように、またそもそも対応しているかを容易に確認できます。

閉じ区切り文字である自己挿入文字を入力すると、Emacsは対応する開き区切り文字の位置を、画面上にあれば簡潔に表示します。画面上にない場合は、その付近のテキストの一部をエコーエリアに表示します。いずれの場合も、どのグループを閉じようとしているのかが分かります。開き区切り文字と閉じ区切り文字が対応していない場合—例えば ‘[x)’ のような場合—には、エコーエリアに警告メッセージが表示されます。

対応括弧の表示は、3つの変数によって制御されます:

Show Parenモードは、より強力な自動マッチング機能を提供するマイナーモードです。ポイントが開きデリミタの前、または閉じデリミタの後にあるとき、そのデリミタと対応する閉じデリミタ、および必要に応じてその間のテキストがハイライトされます。Show Parenモードをグローバルに切り替えるには、M-x show-paren-modeと入力してください。現在のバッファのみで切り替えるには、M-x show-paren-local-modeと入力してください。

デフォルトでは、このモードは編集用のすべてのバッファで有効になっていますが、データを表示するバッファでは有効になりません。これはユーザーオプション show-paren-predicate で制御されます。

モードをカスタマイズするには、M-x customize-group RET paren-showingと入力してください。このモードの動作を制御するカスタマイズ可能なオプションには、以下が含まれます。

Electric Pairモードは、丸括弧、波括弧、角括弧、引用符などの対応する区切り文字のペアを簡単に挿入できるマイナーモードです(何が対応する区切り文字とみなされるかは、メジャーモードによって異なります)。Electric Pairモードをグローバルに切り替えるには、M-x electric-pair-modeと入力してください。現在のバッファのみで切り替えるには、M-x electric-pair-local-modeと入力してください。

このモードが有効な場合、開き区切り文字を入力すると、その文字と、それに続けて対応する閉じ区切り文字の両方が挿入され、ポイントはその2文字の間に配置されます。これにより、ほとんどの場合、対応する閉じ区切り文字を入力する必要がなくなります。それでも閉じ区切り文字を入力した場合、ポイントが同種の閉じ区切り文字の直前にない限り、Emacsは単にその文字を挿入します。その場合、ポイントは閉じ区切り文字の直後に移動し、追加の閉じ区切り文字は挿入されません。したがって、<開き区切り文字>, <対応する閉じ区切り文字> というシーケンスを入力することは、<開き区切り文字>, C-f というシーケンスに代わる、おそらくより便利な方法となります。

アクティブリージョン(マークとリージョンを参照)がある場合、エレクトリックペアモードの動作は異なります。開きデリミタまたは閉じデリミタのいずれかを挿入すると、リージョン内の文字が結果として得られた一対の対応デリミタで囲まれ、入力したデリミタの直後にポイントが残ります(これにより、開きデリミタに続くテキストの前、あるいは閉じデリミタの後のいずれかで入力を続けることが容易になります)。

開き区切り文字を挿入する際にプレフィックス引数を指定し—かつリージョンがアクティブな場合は、閉じ区切り文字を挿入する際にも—これにより、そのプレフィックス引数の数値分だけ、対応する区切り文字の入れ子ペアが挿入されます。

Electric Pairモードの動作を変更するためのユーザーオプションがいくつか用意されています: