Go to the first, previous, next, last section, table of contents.

以前に削除したテキストのヤンク

直前に削除したのではないテキストを取り込むには,Meta-y (yank-pop)コマンドが必要です.M-yは,C-yか別の M-yの後ろだけで使えます.このコマンドはその前にヤンクしたテキスト を,それより前に削除したテキストと入れ換えます.そのため,2つ前に削除し たテキストを取り込むには,まずC-yを使って直前に削除したテキストを 取り,次にM-yを使ってその前に削除したテキストと入れ換えます.

削除リングの中のある項目を指す,"最後のヤンク"ポインタを考えてみます. 削除するたびに,"最後のヤンク"ポインタはリングの先頭に新しく加わった項 目に移動します.C-yは"最後のヤンク"ポインタの指す項目をヤンクし ます.M-yは"最後のヤンク"ポインタを別の項目に移動させ,バッファ のテキストはそれに合わせて変更されます.M-yコマンドを何度も使えば ポインタをリングの中のどの項目にも移動できるので,どの項目でもバッファに 取り込めます.ポインタがリングの端まで移動したら,次にM-yを使うと 先頭の項目にもどります.

ヤンクすると"最後のヤンク"ポインタはリングの中を動きますが,リングの 中の項目の順番を変えることはありません.常に最近に削除したものから記録さ れている古いものまでが前から順に並んでいます.

M-yは数引数で,"最後のヤンク"ポインタを何項目進めるかを指示で きます.負の引数はポインタをリングの前方に移動します.リングの先頭にきた ときはリングの最後の項目に移り,そこから前へ移動します.

探していたテキストがバッファに入れられたら,M-yコマンドをそこで 止めれば,テキストはそのまま残ります.それは削除リングの項目のコピーなの で,バッファにはいったものを編集してもリングの中身は変わりません.新しく 削除しない限り,"最後のヤンク"ポインタは削除リングの同じ項目を指してい ます.よって,C-yを繰り返すと,同じテキストの別のコピーをヤンクし ます.

必要なテキストを見つけるのに必要なM-yコマンドの数がわかる場合, 数引数つきのC-yを使ってすぐにそのテキストをヤンクできます.1より大 きい数引数があるC-yは,削除リングで引数分だけもどった項目のテキス トをヤンクします.したがってC-u 2 C-yは最後から2番目に削除したテキ ストを取り込みます.これはC-y M-yと同じです.数引数のあるC-y は"最後のヤンク"ポインタから項目を数え,ポインタをヤンクした項目に移し ます.

削除リングの長さは,変数kill-ring-maxで指定します.削除したテキ ストがこの数以上になったら,古いものから捨てられます.


Go to the first, previous, next, last section, table of contents.