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

14.4 テキストの蓄積

通常、テキストのコピーや移動は、選択してヤンクすることで行いますが、ある一つのテキストブロックを複数の箇所にコピーしたり、点在する多くのテキストブロックを一箇所にコピーしたりするための便利な方法が他にもあります。ここでは、点在するテキスト断片をバッファやファイルに集約するためのコマンドについて説明します。

M-x append-to-buffer

指定したバッファの内容に領域を追記します。

M-x prepend-to-buffer

指定したバッファの内容の先頭にリージョンを追加する。

M-x copy-to-buffer

領域を指定したバッファにコピーし、そのバッファの旧内容を削除します。

M-x insert-buffer

指定したバッファの内容を、ポイントにある現在のバッファに挿入します。

M-x append-to-file

指定したファイルの内容の末尾に、リージョンを追加する。

テキストをバッファに蓄積するには、M-x append-to-buffer を使用します。これによりバッファ名が読み込まれ、リージョンのコピーが指定されたバッファに挿入されます。存在しないバッファを指定した場合、append-to-buffer がそのバッファを作成します。テキストは、そのバッファ内のポイントがある位置に挿入されます。そのバッファを編集に使用していた場合、コピーされたテキストは、その時点でのポイントの位置から始まるバッファ内のテキストの途中に挿入されます。

そのバッファ内のポイントはコピーされたテキストの末尾に配置されるため、append-to-buffer を繰り返し使用すると、指定されたバッファ内のテキストがコピーされた順序のまま蓄積されていきます。厳密に言えば、append-to-buffer は必ずしもバッファ内の既存のテキストに追記するわけではなく、そのバッファ内のポイントが末尾にある場合にのみ追記されます。ただし、バッファを変更するために append-to-buffer というコマンドのみを使用する場合、ポイントは常に末尾に位置します。

M-x prepend-to-buffer は append-to-buffer と同様ですが、もう一方のバッファの末尾がコピーされたテキストの前に保持されるため、このコマンドを繰り返し使用するとテキストが逆順で追加されます。M-x copy-to-buffer も同様ですが、もう一方のバッファにある既存のテキストが削除されるため、バッファには新たにコピーされたテキストのみが残ります。

コマンド C-x x i (insert-buffer) を使用すると、別のバッファに蓄積されたテキストを取得できます。このコマンドはバッファ名の入力を求め、そのバッファ内のすべてのテキストのコピーを現在のバッファのポイント位置に挿入し、ポイントを挿入されたテキストの先頭に配置します。また、マークを有効にすることなく、挿入されたテキストの末尾の位置をマークリングに追加します。バッファに関する背景情報については、複数のバッファの使用を参照してください。

バッファにテキストを蓄積する代わりに、M-x append-to-file を使用してテキストをファイルに直接追記できます。これによりファイル名の入力が求められ、指定したファイルの末尾にリージョンのテキストが追加されます。ファイルはディスク上で即座に変更されます。

append-to-file は、Emacs でアクセスされていないファイルに対してのみ使用してください。Emacs で編集中のファイルにこれを使用すると、Emacs の裏側でファイルが変更されてしまい、編集内容の一部が失われる可能性があります。

テキストを移動させるもう一つの方法は、レジスタに格納することです。レジスタを参照してください。