“旋转杀环”是什么意思?

“旋转杀环”是什么意思?

在阅读行信息页面中:

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

相关内容