Next: テキストの交換, Previous: 文字コードの置き換え, Up: テキスト [Contents][Index]
レジスター(register)とは、Emacs内の編集においてさまざまな異なる種類の値を保持できる一種の変数です。レジスターはそれぞれ1文字で命名されます。すべてのASCII文字、およびそれらのメタ修飾された変種(ただしC-gは例外)をレジスターの命名に使用できます。したがって利用可能なレジスター数は255になります。Emacs Lispではレジスターは自身の名前となるその文字により指定されます。
この変数は要素が(name
.contents)
という形式のalist。使用中のEmacsレジスターごとに通常は1つの要素が存在する。
オブジェクトnameはレジスターを識別する文字(整数)。
レジスターのcontentsには、いくつかのタイプがある:
数字はそれ自身を意味する。insert-register
はレジスター内の数字を探して10進数に変換する。
マーカーはジャンプ先のバッファー位置を表す。
文字列の場合はレジスター内に保存されたテキスト。
矩形は文字列のリストを表す。
(window-configuration position)
これは1つのフレームにリストアされるウィンドウ構成、およびカレントバッファー内のジャンプ先の位置を表す。
(frame-configuration position)
これはリストア用のフレーム構成とカレントバッファー内のジャンプ先の位置。フレーム構成はフレームセット(frameset)とも呼ばれる。
(file filename)
これはvisitするファイルを表し、この値にジャンプすることによりファイルfilenameをvisitする。
(file-query filename position)
これはvisitするファイルとファイル内の位置を表す。この値にジャンプすることによりファイルfilenameをvisitしてバッファー位置positionに移動する。このタイプの位置をリストアすると、まずユーザーにたいして確認を求める。
(buffer buffer-name)
これはvisitするバッファーを表し、この値にジャンプすることによりバッファーbuffer-nameに切り替える。
このセクションの関数は特に明記しない限り予期せぬ値をリターンします。
この関数はレジスターregのコンテンツ、コンテンツがなければnil
をリターンする。
この関数はレジスターregのコンテンツにvalueをセットする。レジスターには任意の値をセットできるが、その他のレジスター関数は特定のデータ型を期待する。リターン値はvalue。
このコマンドはレジスターregに何が含まれているかを表示する。
このコマンドはカレントバッファーにレジスターregのコンテンツを挿入する。
このコマンドは通常は挿入したテキストの前にポイント、後にマークを配置する。しかしオプションの第2引数beforepが非nil
ならマークを前、ポイントを後に配置する。インタラクティブな呼び出しでは、プレフィクス引数を与えることにより2つ目の引数beforepにnil
を渡すことができる。
このコマンドはインタラクティブに呼び出された際には、デフォルトではテキストの後にポイントを配置して、プレフィクス引数を与えるとこの反対の振る舞いを行う。
レジスターに矩形が含まれる場合には、その矩形はポイントの左上隅に挿入される。これはそのテキストがカレント行と、その下に続く行に挿入されることを意味する。
レジスターが保存されたテキスト(文字列)または矩形(リスク)以外の何かを含む場合には、現在のところは役に立つようなことは起きない。これは将来変更されるかもしれない。
この関数はprompt、およびもしかしたら既存レジスターとそのコンテンツをプレビューしてレジスターの名前を読み取ってレジスター名をリターンする。このプレビューはユーザーオプションregister-preview-delay
とregister-alist
がいずれも非nil
なら、register-preview-delay
で指定された遅延の後に一時ウィンドウ内に表示される。このプレビューはユーザーが(たとえばヘルプ文字のタイプにより)ヘルプを要求した場合にも表示される。レジスター名を読み取るンタラクティブな関数には、この関数の使用を推奨する。