Next: , Previous: , Up: キーバインディングのカスタマイズ   [Contents][Index]


50.3.7 修飾キー

Emacsでは、デフォルトのキーバインディングがセットアップされているので、修飾されたアルファベット文字は大文字小文字が区別されません。つまりC-AC-aと同じことを行い、M-AM-aと同じことを行ないます。これはアルファベット文字だけに当てはまり、他のキーのシフトキーが押された(shifted)バージョンには適用されません。たとえば、C-@C-2と同じではありません。

Control修飾されたアルファベット文字は、一般的に大文字小文字が区別されません。Emacsは常にC-AC-aC-BC-b、...として扱います。これは歴史的な理由によります。非グラフィカルな環境ではこれらのキーストロークに差異はありません。しかしGUIフレームではshiftしたControlのアルファベットキーストロークをバインドできます。

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

他の修飾キーではEmacsをカスタマイズするとき修飾されたアルファベットの大文字小文字を区別するようにできます(非グラフィカルなフレームでも可)。たとえばM-aM-Aで別のコマンドを実行できます。

一般的に使用される修飾キーはControlMetaだけですが、Emacsは他の修飾キーもサポートします。これらはSuperHyperAltと呼ばれます。これらの修飾キーを使用する方法を提供する端末の数は多くありません。ほとんどのキーボードでAltとラベルされたキーは、通常はAltではなくMeta修飾を発行します。Emacsの標準のキーバインディングにはSuperHyperは含まれず、少数の標準キーバインディングだけがAltを使用します。これらのキーで修飾された文字は含まれません。しかしこれらの修飾を使用するキーバインディングに意味を割り当てるようにEmacsをカスタマイズできます。修飾ビットはそれぞれ‘s-’、‘H-’、‘A-’になります。

これらの追加的な修飾キーがキーボードになくても、C-x @を使用して入力できます。C-x @ hはHyperフラグ、C-x @ sはSuperフラグ、C-x @ aはAltフラグを次の文字に加えます。たとえばHyper-Control-aを入力するには、C-x @ h C-aとタイプします(残念なことに同じ文字にたいしてC-x @を使用して、2つの修飾を追加する方法はありません。なぜなら最初の1つは2回目のC-xにたいして作用するからです)。同様に必要となることは稀ですがC-x @ SC-x @ cC-x @ mでShift、Control、Metaといった修飾キーを入力できます。