Next: Appending Kills, Previous: Kill Ring, Up: Yanking [Contents][Index]
Yankingで説明したように、C-yに数引数を指定して、最後にkillされたものではないテキストをyankできます。これはkillリングのどのエントリーが欲しいか覚えているとき便利です。もし覚えていないときは、M-y
(yank-pop
)コマンドを使って、候補を探すことができます。
もし前のコマンドがyankコマンドのとき、M-yはyankされたテキストを、1つ前にkillされたテキストで置き換えます。つまり2番目に新しいkillされたテキストを復元するには、最初にC-yで最後にkillされたテキストをyankし、次にM-yでその1回前にkillされたテキストで置き換えます。M-yはC-yまたは他のM-yの後しか許されていません。
killリングのエントリーを指す(ポイントする)、last yankポインターという概念で、M-yを理解できるでしょう。なにかをkillする度に、last yankポインターはリングの先頭に新たに作られたエントリーを指すように移動します。C-yは、last yankポインターが指すエントリーをyankします。M-yはlast yankポインターが違うエントリーを指すように移動して、バッファーのテキストをポインターが指すテキストに変更します。M-yコマンドを繰り返すことにより、リングの任意のエントリーにポインターを移動できるので、任意のエントリーをバッファーに取り込むことができます。やがてリングの最後に到達すると、次のM-yにより再び最初のエントリーに戻ります。
M-yはリング内でlast yankポインターを移動させますが、リング内のエントリーの順番は変更しません。リングのエントリーは、常に最後にkillされたものを先頭に、記憶されているもので一番古いエントリーへと並んでいます。
last-yankポインターを何回進めるかを、M-yに数引数で指定できます。負の引数はリングの先頭に向かってポインターを移動させます。リングの先頭では一番古いエントリーに戻り、そこから先頭へと移動します。
望むテキストを見つけてバッファーに取り込んだら、M-yコマンドを止めればそのテキストはそこに残ります。このテキストはkillリングのエントリーの単なるコピーなので、それを編集してもリングの中のエントリーは変更されません。新しく何かをkillしない限り、last-yankポインターは同じ位置に留まるので、C-yでそのテキストの別のコピーをyankできます。
C-yに数引数を指定するときも、yankするエントリーにlast-yankポインターをセットします。