Ese es un argumento de dígitos , una característica de la biblioteca readline integrada en 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.
Esta característica simplifica la adición o eliminación de texto en la línea de comando editada actualmente. Digamos que quieres escribir echo gggg
:
- Entrar
echo
seguido de espacio
- Pulse la tecla Meta (que puede ser Win, Alty / o Escpara usted) y el tipo
4g
Pero, ¿con qué frecuencia necesita escribir una sola letra tantas veces que esto le ahorrará algo? La función está diseñada principalmente para comandos de línea de lectura , consulte los capítulos 8.2.1–8.2.3 del Manual de referencia ("C" significa Ctrl, "M" significa Meta).
Puede retroceder una palabra con Meta y B, pero ¿y si quisiera retroceder varias palabras a la vez? Puede mantener Altpresionada y presionar Bvarias veces, o usar el argumento de dígitos:
Hay un error tipográfico en su línea de comando cinco palabras atrás:
$ echo one two tree four five six seven█
Presione la tecla Meta, escriba 5
y presione Meta y B. Et violà:
$ echo one two █ree four five six seven
- Fijar el error tipográfico y, o bien prensa Enterpara disparar o Endo Ctrl+ Epara pasar al final de la línea de nuevo.
Puede eliminar una sola palabra presionando Meta y Backspace, pero ¿qué sucede si desea eliminar varias palabras a la vez?
Olvidó una palabra en su línea de comando:
$ echo one two four five six seven█
Presione la tecla Meta, escriba 4
y presione Meta y Backspace.
$ echo one two █
Escriba la palabra faltante seguida de espacio y presione Ctrl+ Ypara pegar lo que acaba de eliminar. Et violà:
$ echo one two three four five six seven█
Tienes razón, también podrías haberte mudado allí como se acaba de explicar sin eliminar nada. Estamos en Linux, siempre hay varias formas de hacer lo mismo.
¿Y qué es un "argumento negativo"? Hace lo mismo, pero en la dirección opuesta, por lo que Meta -2
Meta Backspaceelimina las siguientes dos palabras de la línea de comando. "¡Pero uno podría usar Meta 1
Meta Dpara hacer lo mismo!" Me alegro de que lo hayas recibido, bienvenido a tu línea de comando.
Otras lecturas:
Esc
set -o vi
).