Emacs では任意のテキストを一時的な領域に保存し、 それを再び入力することができます。 複数のクリップボードを使い分けられるようなイメージでしょうか。 この保存領域であるレジスタについて説明します。
Emacs では任意のテキストを保存するための 1 字の名前のついた領域が用意されています。 たとえば Windows アプリケーションで C-c によってある文字列をコピー、 C-v で貼り付けといった操作をすることがあると思います。 この場合、保存できる文字列は一通りです。 レジスタを利用すると 1 字の名前を指定することで複数の文字列を扱えるわけです。 繰り返し入力する文字列が何通りかある場合にこれは大変便利です.
テキストをレジスタに保存、レジスタから挿入するにはその操作に割り当てられた 2 つのキーバインドを覚えるだけです。リージョンはある領域をあらわします。 詳しくは、基本的な編集操作 を参考にしてください。
キー操作 | 役割 |
---|---|
C-x r s r | リージョンのテキストをレジスタ r に保存 |
C-x r i r | レジスタ r に保存されたテキストの挿入 |
たとえば、リージョンに "私の名前は" という文字列があったとします。 このとき、C-x r s w と入力すると、名前 w のレジスタに "私の名前は" という文字列が保存されます。 次に適当な位置で C-x r i w と入力すると、 保存した文字列が挿入されます。
このとき、カーソルの位置は文字列の先頭にセットされます。 もし、挿入後のカーソル位置を挿入文字列の後ろに起きたい場合は、 C-u を前につけます。たとえば、C-u C-x r i w と入力するわけです。