2009-02-18 2 views
61

Drücken Sie alt + numerisch in bash und Sie erhalten (arg [numeric]) was ist das?Drücken Sie alt + numerisch in bash und Sie erhalten (arg [numeric]) was ist das?

(Diese Art von Frage ist besser geeignet für einen Menschen zu fragen, anstatt zu versuchen, zu „erraten“ für die korrekte Terminologie auf der Dokumentation über das Internet suchen).

+0

Wenn Sie '' keymap vi' in '~/.inputrc' gesetzt haben, führt das Drücken von' Esc + Ziffer' in den gleichen Modus, als würden Sie sich auf eine vi-Befehlswiederholung vorbereiten (aber Sie können vi-Bindungen nicht verwenden) von ihnen auf nur hässliche emacs diejenigen :-() –

Antwort

41

Der Begriff Sie googeln wollen, ist:

"readline arguments" 

Dies führt zu zum Beispiel diese chapter from the bash reference manual:

können Sie numerische Argumente übergeben, um Befehle Readline-. Manchmal fungiert das Argument als Wiederholungszahl, manchmal ist es das Zeichen des Arguments, das signifikant ist. Wenn Sie ein negatives Argument an einen Befehl übergeben, der normalerweise vorwärts arbeitet, wirkt dieser Befehl rückwärts. Um beispielsweise den Text an den Anfang der Zeile zurückzusetzen, geben Sie "M-- C-k" ein.

Die allgemeine Art und Weise numerische Argumente an einen Befehl übergeben meta Stellen vor dem Befehl eingeben. Wenn die erste eingegebene Ziffer ein Minuszeichen ('-') ist, wird das Vorzeichen des Arguments negativ sein. Sobald Sie eine Meta-Ziffer eingegeben haben, um das Argument zu starten, können Sie den Rest der Ziffern und dann den Befehl eingeben. Um beispielsweise dem Befehl C-d ein Argument von 10 zu geben, können Sie 'M-1 0 C-d' eingeben, wodurch die nächsten zehn Zeichen in der Eingabezeile gelöscht werden.

Damit das funktioniert, müssen Sie wissen, wo die Meta-Taste zugeordnet ist: manchmal ist es Alt, manchmal ist es Esc, kühle Rechner eine eigene Meta-Taste haben;)

+1

Ist gibt es eine Möglichkeit, numerische Zeichen mit numerischen Argumenten zu wiederholen, zB wenn ich 128 Nullen ('0') schreiben möchte, würde ich denken, ich könnte Alt + 128 dann 0 schreiben, aber das gibt mir '(arg: 1280' (obwohl ich die Alt - Taste losgelassen habe. Wie würde ich Zahlen mit diesem Mechanismus wiederholen? –

+0

@Victor: interessante Fragen Ich kann mir nicht vorstellen, wie ich es mit readline machen könnte '$ (perl -e 'drucke" 0 "x 128 ') – hop

3

Ich weiß nicht, aber wenn man alt tun + numerische und dann Sie ein Zeichen drücken, werden Sie num caracters erhalten: (arg: 123) + A -> 123 mal "a"

+7

Sie wissen es nicht, doch Sie wissen?% - | – hop

8

Try this . Typ Alt , dann T Typ, schlug dann eingeben.

Edited die snazzier HTML zu verwenden.

+8

Was passiert für Sie? Ich bekomme nichts. –

+0

Vier 't' Zeichen eingefügt werden. –

7

Er wiederholt den nächsten Befehl gegeben, dass viele Male, gleich wie in Emacs. Z.B. M-1-0 C-p verschiebt 10 historische Elemente zurück. M-4 C-h Rücktasten vier Zeichen, M-3 M-t das vorherige Wort vorwärts dreimal bewegt, und so weiter. Hier verwende ich M- Bedeutung "Meta" für die Alt-Taste, wie es in Bash Gewohnheit ist.

1

bash manual section - im Grunde eine Möglichkeit, Readline-Befehle zu wiederholen oder umzukehren.

14

Um numerische Zeichen zu wiederholen - z.B.128 Nullen, drücken Sie die folgenden Schritte aus:

Meta-Taste + 1 Strg + v

5

Ich weiß, das hat bereits eine akzeptierte Antwort jedoch habe ich einige useful examples finden die neben der einfachen Wiederholung von Zeichen auch zusätzliche Verwendungsmöglichkeiten demonstrieren. Die Ziffernargumente können für alle möglichen Dinge gelten. Zum Beispiel löscht die Sequenz "Alt + 3, Escape, Backspace" rückwärts 3 Wörter.

Verwandte Themen