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

2.4.3.3 制御文字構文

制御文字は、さらに別の読み取り構文を用いて表現できます。これは、疑問符に続き、バックスラッシュ、キャレット、および対応する非制御文字(大文字または小文字)を並べたものです。例えば、‘?\^I’と‘?\^i’はいずれも、値が9である文字C-iに対する有効な読み取り構文です。

‘^’の代わりに‘C-’を使用できます。したがって、‘?\C-i’は‘?\^I’および‘?\^i’と同等になります:

?\^I ⇒ 9     ?\C-I ⇒ 9

文字列やバッファで許可される制御文字は、ASCIIに含まれるものに限られますが、キーボード入力においては、‘C-’を用いることで任意の文字を制御文字に変換できます。これらの非ASCII制御文字の文字コードには、2**26ビット分に加え、対応する非制御文字のコードも含まれています。すべてのテキスト端末で非ASCII制御文字を生成できるわけではありませんが、Xやその他のウィンドウシステムを用いれば容易に生成可能です。

歴史的な経緯により、EmacsではDEL文字を?の制御文字相当として扱います:

?\^? ⇒ 127     ?\C-? ⇒ 127

その結果、X では意味のある入力文字である Control-? を ‘\C-’ で表現することは現状では不可能です。さまざまな Lisp ファイルがこのように DEL を参照しているため、これを変更するのは容易ではありません。

ファイルや文字列に含まれる制御文字を表すには、‘^’ 構文を推奨します。キーボード入力における制御文字には、‘C-’ 構文を好んで使用します。どちらを使用するかはプログラムの意味に影響しませんが、読み手の理解を助ける可能性があります。