Das ist ein Ziffernargument , eine Funktion der Readline-Bibliothek, die eingebaut ist in 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.
Diese Funktion vereinfacht das Hinzufügen oder Löschen von Text in der aktuell bearbeiteten Befehlszeile. Angenommen, Sie möchten schreiben echo gggg
:
- Geben Sie
echo
gefolgt von einem Leerzeichen ein
- Drücken Sie die Meta - Taste (die sein kann Win, Altund / oder Escfür Sie) und Typ
4g
Aber wie oft müssen Sie einen einzelnen Buchstaben so oft eingeben, dass Sie dadurch nichts sparen? Die Funktion ist hauptsächlich für Readline- Befehle vorgesehen (siehe Kapitel 8.2.1–8.2.3 des Referenzhandbuchs) („C“ bedeutet Ctrl, „M“ bedeutet Meta).
Mit Meta und können Sie ein Wort zurücksetzen B, aber was ist, wenn Sie mehrere Wörter gleichzeitig zurücksetzen möchten? Sie können entweder gedrückt halten Altund Bmehrmals drücken oder das Ziffernargument verwenden:
Auf Ihrer Befehlszeile steht ein Tippfehler, fünf Wörter zurück:
$ echo one two tree four five six seven█
5
Drücken Sie die Meta-Taste, geben Sie ein und drücken Sie Meta und B. Et violà:
$ echo one two █ree four five six seven
- Korrigieren Sie den Tippfehler und drücken Sie entweder, um Enterzu schießen, oder Endoder Ctrl+ E, um erneut zum Zeilenende zu gelangen.
Sie können ein einzelnes Wort löschen, indem Sie Meta und drücken. BackspaceWas ist, wenn Sie mehrere Wörter gleichzeitig löschen möchten?
Sie haben ein Wort in Ihrer Befehlszeile vergessen:
$ echo one two four five six seven█
4
Drücken Sie die Meta-Taste, geben Sie ein und drücken Sie Meta und Backspace.
$ echo one two █
Geben Sie das fehlende Wort gefolgt von einem Leerzeichen ein und drücken Sie Ctrl+, Yum das gerade gelöschte einzufügen. Et violà:
$ echo one two three four five six seven█
Du hast recht, du hättest auch, wie gerade erklärt, dorthin ziehen können, ohne etwas zu löschen. Wir arbeiten unter Linux. Es gibt immer mehrere Möglichkeiten, dasselbe zu tun.
Und was ist ein "negatives Argument"? Das Gleiche geschieht, jedoch in umgekehrter Richtung, sodass Meta -2
Meta Backspacedie nächsten beiden Wörter in der Befehlszeile löscht. "Aber man könnte Meta 1
Meta benutzen D, um dasselbe zu tun!" Schön, dass Sie das verstanden haben, willkommen in Ihrer Kommandozeile.
Weitere Lektüre:
Esc
set -o vi
) funktioniert .