Nas páginas de informações da linha de leitura:
info bash -n "Commands For Kill"
M-y
Gire o anel mortal e puxe o novo topo. Você só pode fazer isso se o comando anterior forC-y
ouM-y
.
Eu entendo que C-y
"cola" o último texto eliminado, mas não consegui descobrir o que M-y
exatamente faz.
Você pode explicar
Responder1
M-ydesfaz o último puxão, gira as listas de todas as strings de eliminação mantidas e puxa o novo topo da lista. Experimente este exemplo:
- digite os 5 caracteres
a b c
(sem nova linha) - posicione o cursor (com C-b) na frente de
c
e digite C-kpara matarc
no topo do anel de morte. - Posicione o cursor 2 caracteres à esquerda e digite C-kpara matar o
b
, - e novamente para o início da linha e digite C-kpara matar o arquivo
a
.
Agora digite C-ye você arranca a
do topo da lista. Digite C-ynovamente, você obterá outro a
, mas se digitar imediatamente, M-yo a
será removido e substituído por b
.
Se você digitar outro, C-yobterá b
, não a
, porque o anel de morte foi girado. Da mesma forma, a M-ysubstituirá the b
por a c
.
Quando você digita a sequência C-yseguida por muitos, M-yvocê obtém cada uma das strings do anel de morte, uma por uma.
Responder2
Não sou usuário do Emacs, mas há um mês venho experimentando o modo Emacs no Readline como alternativa ao modo Vi.
Toda vez que vocêmatar(excluir) texto, ele é removido do buffer e adicionado aoanel de matar. Quando vocêpuxão(colar) o texto com C-Y
, o texto eliminado mais recentemente é impresso na posição do cursor.
Se vocêimediatamentesiga isso com M-Y
(metaA tecla geralmente pode ser obtida pressionando Alt- You Escseguida por Y), o texto impresso pelo C-Y
puxão é substituído pelo segundo texto eliminado mais recentemente. Se você seguir com outro M-Y
, o texto colado será substituído pelo terceiro trecho de texto eliminado mais recentemente e assim por diante. Cada pressão sucessiva de M-Y
altera o texto colado para o da próxima “morte” no anel de morte até chegar ao final do anel de morte – ondegirade volta à morte mais recente.