コマンドM-x cua-modeは、多くのアプリケーションで使われている、CUA(Common User Access)互換のキーバンドをセットアップします。
CUAモードが有効な場合、C-x、C-c、C-v、C-zなどのキーは、カット(kill)、コピー、ペースト(yank)、アンドウのコマンドを呼び出します。C-xとC-cによるカットとコピーは、リージョンがアクティブなときだけ処理されます。リージョンが非アクティブのときはプレフィクスキーとして動作するので、C-x
C-cのような標準のEmacsコマンドは正常に機能します。変数mark-even-if-inactive
はC-xとC-cに影響を及ぼさないことに注意してください(リージョンを操作するを参照してください)。
マークがアクティブのときにC-x C-fのようなEmacsコマンドを入力するには、Shiftを押しながらプレフィクスキーを押す(例 S-C-x C-f)か、プレフィクスキーを素早く2回タイプ(例 C-x C-x C-f)します。
CUAモードがEmacs標準のキーバインドをオーバーライドするのを無効にしつつ、以下で説明するそれ以外のCUAモードの機能は使う場合は、変数cua-enable-cua-keys
にnil
をセットしてください。
CUA モードはデフォルトでDelete-Selectionモード(編集のためのマウスコマンドを参照してください)を有効にするので、アクティブなリージョンがあるときテキストをタイプすると、そのテキストで置き換えられます。CUAモードでこれを無効にするには、変数cua-delete-selection
をnil
にセットしてください。
CUAモードは矩形領域を明白にハイライトする、強化された矩形領域サポートを提供します。C-RETを使うことにより矩形領域の選択が開始され、移動コマンドを使って拡張したり、C-xとC-cで切り取りとコピーができます。RETにより、矩形領域の四隅に時計方向へカーソルを移動させるので、任意の方向に簡単に領域を拡張できます。タイプされた通常のテキストは、矩形領域の各行の左か右(カーソルのある側)に挿入されます。
この矩形領域サポートは、cua-rectangle-mark-mode
コマンドを呼び出すことにより、CUAモードを有効にせずに使うこともできます。標準コマンドrectangle-mark-mode
もあります。矩形領域(Rectangles)を参照してください。
CUAモードでは、テキストや矩形領域を簡単にレジスターに保存したり、取り出すことができます。これは1桁の数引数をkill、copy、yankコマンドに指定します。たとえばC-1
C-cはリージョンをレジスター1
にコピーし、C-2 C-vはレジスター2
の内容をyankします。
CUAモードは、バッファー間での簡単にテキストを移動したりコピーするためのグローバルマーク機能も提供します。C-S-SPCを使って、グローバルマークのオンとオフが切り替えられます。グローバルマークがオンのときは、killまたはコピーされたすべてのテキストは自動的にグローバルマークの位置に挿入され、タイプしたテキストも現在のカーソル位置ではなくグローバルマークに挿入されます。
たとえば複数のバッファーから単語をコピーして単語リストを作るには、単語リストを作るバッファーにグローバルマークをセットします。次にリストにしたい単語をマーク(S-M-fなど)してから、C-cかM-wでリストにコピーします。そしてRETでリストにコピーされた単語の後ろに改行を挿入すればよいのです。