在阅读行信息页面中:
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
将粘贴的文本更改为杀戮环中的下一个“杀戮”的文本,直到到达杀戮环的末尾 - 在那里它旋转回到最近的杀戮。