在閱讀行資訊頁面中:
info bash -n "Commands For Kill"
M-y
旋轉殺環,然後拉動新頂部。只有當先前的命令是C-y
或 時,您才能執行此操作M-y
。
Ì理解C-y
“粘貼”最後被刪除的文本,但我不知道M-y
到底是什麼。
你能解釋一下嗎
答案1
M-y撤銷最後一次拉動,旋轉所有保留的終止字串的列表,並拉動列表的新頂部。試試這個例子:
- 輸入 5 個字元
a b c
(無換行符) - 將遊標(帶有C-b)放在 前面
c
,然後鍵入C-k以將 the 殺死c
到終止環的頂部。 - 將遊標定位到左側 2 個字元並鍵入C-k以終止
b
, - 再次到該行的開頭並輸入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-Y或Esc後跟Y) 來獲得,由 yank 列印的文字C-Y
將替換為第二個最近刪除的文字。如果您在其後添加另一個M-Y
,則貼上的文本將替換為最近刪除的第三段文本,依此類推。每次連續按下都會M-Y
將粘貼的文本更改為殺戮環中的下一個“殺戮”的文本,直到到達殺戮環的末尾 - 在那裡它旋轉回到最近的殺戮。