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

33.21 レジスタ

レジスタとは、Emacsの編集で使用される一種の変数であり、さまざまな種類の値を保持できます。各レジスタには1文字の名前が付けられます。すべてのASCII文字およびそのメタ文字(ただしC-gを除く)をレジスタの名前として使用できます。したがって、可能なレジスタは255個あります。Emacs Lispでは、レジスタはその名前となる文字によって指定されます。

変数: register-alist

この変数は、(name . contents) 形式の要素からなるアリストです。通常、使用された Emacs レジスタごとに1つの要素が存在します。

オブジェクト name は、レジスタを識別する文字(整数)です。

レジスタのcontentsには、いくつかの型が考えられます:

数字

数値はそれ自体を表します。insert-register がレジスタ内に数値を見つけた場合、その数値を10進数に変換します。

マーカー

マーカーは、ジャンプ先のバッファ位置を表します。

文字列

文字列とは、レジスタに保存されたテキストのことです。

長方形

長方形は文字列のリストで表されます。

(window-configuration position)

これは、1フレームで復元するウィンドウ構成と、現在のバッファ内でジャンプする位置を表しています。

(frame-configuration position)

これは、復元するフレーム構成と、現在のバッファ内でジャンプ先となる位置を表します。フレーム構成はフレームセットとも呼ばれます。

(file filename)

これは参照先のファイルを表しており、この値にジャンプするとファイル filename を参照します。

(file-query filename position)

これは参照先のファイルとその中の位置を表しており、この値へジャンプするとファイル filename が参照され、バッファ位置 position へ移動します。この種の位置を復元する際は、まずユーザーに確認を求めます。

(buffer buffer)

これはバッファを表しており、この値にジャンプするとそのbufferに切り替わります。

本節の関数は、特に断りのない限り、予測不能な値を返します。

関数: get-register reg

この関数は、レジスタ reg の内容、または内容がない場合は nil を返します。

関数: set-register reg value

この関数は、レジスタ reg の内容を value に設定します。レジスタには任意の値を設定できますが、他のレジスタ関数では特定のデータ型のみが指定可能です。戻り値は value です。

コマンド: view-register reg

このコマンドは、レジスタ reg の内容を表示します。

コマンド: insert-register reg &optional beforep

このコマンドは、レジスタ reg の内容を現在のバッファに挿入します。

通常、このコマンドは挿入されたテキストの前にポイントを、その後にマークを配置します。ただし、省略可能な第2引数 beforep が nil 以外の場合、マークが前に、ポイントが後に配置されます。

インタラクティブに呼び出された場合、コマンドはデフォルトでテキストの後にポイントを移動させ、接頭辞引数を指定するとこの動作が反転します。

レジスタに矩形が含まれている場合、その矩形の左上隅を点として挿入されます。これは、現在の行、およびその下の連続する行にテキストが挿入されることを意味します。

レジスタに保存済みのテキスト(文字列)や矩形(リスト)以外のものが格納されている場合、現状では意味のない処理が行われます。これは将来的に変更される可能性があります。

関数: register-read-with-preview prompt

この関数はレジスタ名を読み取って返し、prompt でプロンプトを表示し、場合によっては既存のレジスタとその内容のプレビューを表示します。ユーザーオプション register-preview-delay で指定された遅延時間の後、その値と register-alist がともに nil 以外である場合に、一時的なウィンドウでプレビューが表示されます。また、ユーザーがヘルプを要求した場合(例:ヘルプ文字を入力した場合)にもプレビューが表示されます。レジスタ名を読み取るすべての対話型コマンドにおいて、この関数を使用することを推奨します。