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

51.3.7 修飾キー

Emacsのデフォルトのキーバインドは、修飾されたアルファベット文字が大文字小文字を区別しないように設定されています。言い換えれば、C-AはC-aと同じ動作をし、M-AはM-aと同じ動作をします。これはアルファベット文字にのみ適用され、他のキーのシフト版には適用されません。例えば、C-@はC-2とは異なります。

Controlで修飾されたアルファベット文字は、一般的に大文字小文字を区別しないものとみなされます。Emacsは常にC-AをC-aとして、C-BをC-bとして扱う、といった具合です。その理由は歴史的なもので、非グラフィカルな環境ではこれらのキーストロークに区別がないためです。ただし、GUIフレームでは、シフト付きのControlアルファベットキーストロークをバインドすることが可能です:

(keymap-global-set "C-S-n" #'previous-line)

その他のすべての修飾子については、Emacsをカスタマイズすることで、変更後のアルファベット文字を大文字小文字区別可能にできます(グラフィカルでないフレームでも同様です)。例えば、M-a と M-A で異なるコマンドを実行させるといったことが可能です。

一般的によく使われる修飾キーは Control と Meta のみですが、Emacs は他に 3 つの修飾キーをサポートしています。これらは Super、Hyper、Alt と呼ばれます。これらの修飾キーを利用する手段を備えている端末はほとんどなく、ほとんどのキーボードで Alt と表記されているキーは、通常 Alt ではなく Meta 修飾を出力します。Emacs の標準キーバインドには Super および Hyper 修飾を持つ文字は含まれておらず、Alt を使用する標準キーバインドもごくわずかです。ただし、これらの修飾キーを使用するキーバインドに意味を割り当てるよう、Emacs をカスタマイズすることも可能です。修飾ビットは、それぞれ ‘s-’、‘H-’、‘A-’ と表記されます。

キーボードにこれらの追加修飾キーがない場合でも、C-x @ を使って入力できます。C-x @ h は次の文字に Hyper フラグを、C-x @ s は Super フラグを、C-x @ a は Alt フラグを追加します。例えば、C-x @ h C-a は Hyper-Control-a を入力する方法の一つです。(残念ながら、同じ文字に対して C-x @ を2回使って2つの修飾キーを追加する方法はありません。1回目の入力が C-x に作用してしまうためです。)同様に、C-x @ S、C-x @ c、C-x @ m をそれぞれ使うことで Shift、Control、Meta の各修飾キーを入力できますが、こうした操作が必要になることは滅多にありません。

グラフィカル端末では、モディファイアバーモードを有効にすることで、ツールバーのボタンをクリックするだけで不足している修飾キーをシミュレートできます。ツールバーを参照してください。