「旋轉殺環」是什麼意思?

「旋轉殺環」是什麼意思?

在閱讀行資訊頁面中:

info bash -n "Commands For Kill"

M-y 旋轉殺環,然後拉動新頂部。只有當先前的命令是C-y或 時,您才能執行此操作M-y

Ì理解C-y“粘貼”最後被刪除的文本,但我不知道M-y到底是什麼。

你能解釋一下嗎

答案1

M-y撤銷最後一次拉動,旋轉所有保留的終止字串的列表,並拉動列表的新頂部。試試這個例子:

  1. 輸入 5 個字元a b c(無換行符)
  2. 將遊標(帶有C-b)放在 前面c,然後鍵入C-k以將 the 殺死c到終止環的頂部。
  3. 將遊標定位到左側 2 個字元並鍵入C-k以終止b,
  4. 再次到該行的開頭並輸入C-k殺死a.

現在輸入並從列表頂部C-y拉出。再次a輸入C-y,您只會得到另一個a,但如果您立即輸入 ,M-y則會a被刪除並替換為b

如果您現在輸入另一個,C-y您會得到b,而不是a,因為殺傷環已經旋轉。同樣, aM-y將替換b為 a c

C-y當您輸入後面有很多序列的序列時,M-y您會一一獲得每個殺環字串。

答案2

我不是 Emacs 用戶,但上個月我一直在 Readline 中嘗試使用 Emacs 模式來取代 Vi 模式。

每次你(刪除)文本,它從緩衝區中刪除並添加到殺環。當你猛拉(貼上)帶有 的文本C-Y,最近刪除的文本將列印到遊標位置。

如果你立即地遵循這個M-Y鍵通常可以透過按Alt-YEsc後跟Y) 來獲得,由 yank 列印的文字C-Y將替換為第二個最近刪除的文字。如果您在其後添加另一個M-Y,則貼上的文本將替換為最近刪除的第三段文本,依此類推。每次連續按下都會M-Y將粘貼的文本更改為殺戮環中的下一個“殺戮”的文本,直到到達殺戮環的末尾 - 在那裡它旋轉回到最近的殺戮。

相關內容