Esse é um argumento de dígito , um recurso da biblioteca readline incorporada a bash
:
digit-argument (M-0, M-1, ..., M--)
Add this digit to the argument already accumulating, or start a
new argument. M-- starts a negative argument.
Esse recurso simplifica a adição ou exclusão de texto na linha de comando editada no momento. Digamos que você queira escrever echo gggg
:
- Enter
echo
seguido por espaço
- Pressione a tecla Meta (que pode ser Win, Alte / ou Escpara você) e tipo
4g
Mas quantas vezes você precisa digitar uma única letra tantas vezes que isso economizaria alguma coisa? O recurso foi desenvolvido principalmente para comandos de linha de leitura , consulte os capítulos 8.2.1 a 8.2.3 do Manual de Referência (“C” significa Ctrl“M” significa Meta).
Você pode voltar uma palavra com Meta e B, mas e se você quiser voltar várias palavras ao mesmo tempo? Você pode segurar Alte pressionar Bvárias vezes ou usar o argumento de dígito:
Há um erro de digitação em sua linha de comando cinco palavras atrás:
$ echo one two tree four five six seven█
Pressione a tecla Meta, digite 5
e pressione Meta e B. Et violà:
$ echo one two █ree four five six seven
- Corrija o erro de digitação e pressione Enterpara disparar ou Endou Ctrl+ Epara mover novamente para o final da linha.
Você pode excluir uma única palavra pressionando Meta e Backspace, mas e se você quiser excluir várias palavras ao mesmo tempo?
Você esqueceu uma palavra na sua linha de comando:
$ echo one two four five six seven█
Pressione a tecla Meta, digite 4
e pressione Meta e Backspace.
$ echo one two █
Digite a palavra que falta, seguida de espaço e pressione Ctrl+ Ypara colar o que acabou de ser excluído. Et violà:
$ echo one two three four five six seven█
Você está certo, você também pode ter se mudado para lá, como explicado sem excluir nada. Estamos no Linux, sempre existem várias maneiras de fazer a mesma coisa.
E o que é um "argumento negativo"? Ele faz o mesmo, mas na direção oposta, então o Meta -2
Meta Backspaceexclui as próximas duas palavras da linha de comando. “Mas alguém poderia usar o Meta 1
Meta Dpara fazer a mesma coisa!” Fico feliz que tenha entendido, bem-vindo à sua linha de comando.
Leitura adicional: