Esse é um argumento de dígito , um recurso da biblioteca de readline incorporada 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 atualmente. Digamos que você queira escrever echo gggg
:
- Insira
echo
seguido por espaço - Pressione a tecla Meta (que pode ser Win , Alt e / ou Esc para você) e digite
4g
Mas com que frequência você precisa digitar uma única letra tantas vezes que isso economizaria alguma coisa? O recurso é projetado principalmente para comandos
Você pode mover uma palavra para trás com Meta e B , mas e se você quiser mover várias palavras de uma só vez? Você pode segurar Alt e pressionar B várias vezes, ou usar o argumento numérico:
-
Há um erro de digitação na 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 e pressione Enter para disparar ou End ou Ctrl + E para mover para o fim da linha novamente.
Você pode excluir uma única palavra pressionando Meta e Backspace , mas e se você quiser excluir várias palavras de uma só vez?
-
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 está faltando seguida por espaço e pressione Ctrl + Y para colar o que acabou de ser apagado. Et violà:
$ echo one two three four five six seven█
Você está certo, você também poderia ter se mudado para lá como explicado sem excluir nada. Estamos no Linux, há sempre 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 Meta -2
Meta Backspace exclui as próximas duas palavras da linha de comando. “Mas alguém poderia usar Meta 1
Meta D para fazer a mesma coisa!” Fico feliz que você tenha recebido isso, bem-vindo à sua linha de comando.
Leitura adicional: