Mit Makros spielen:
Binden Sie die Funktionstaste F8, um das letzte Wort (bis zum vorherigen Leerzeichen) mit zwei zu multiplizieren (F8-Tastencode gefunden mit Ctrl-V F8
):
$ bind '"\e[19~": "\C-w\C-y\C-y"'
Dies könnte dauerhaft gemacht werden, indem derselbe Text an gesendet wird ~/.inputrc
$ echo '"\e[19~": "\C-w\C-y\C-y"' >> ~/.inputrc
dann tippe:
Echo 0F8F8F8F8
2 ^ 4 mal die Null zu bekommen. (noch 5 Tastenanschläge).
oder Typ:
Echo-BuchF8F8F8
2 ^ 3 Buchwörter zu bekommen.
Noch schneller:
Mit 4 multiplizieren:
$ bind '"\e[19~": "\C-w\C-y\C-y\C-w\C-y\C-y"'
Echo 0F8F8
3 Tastendruck.
Mit 8 multiplizieren (die gleiche Zahl wie die Funktionstaste)
$ bind '"\e[19~": "\C-w\C-y\C-y\C-w\C-y\C-y\C-w\C-y\C-y"'
echo 00F8
Noch 3 Tastendrücke.
Betrügen?
Cheat durch Multiplikation mit 16.
$ bind '"\e[19~": "\C-w\C-y\C-y\C-w\C-y\C-y\C-w\C-y\C-y\C-w\C-y\C-y"'
Echo 0F8
Nur 2 Tastendruck. (und immer noch eine nützliche einfache Funktion)
^^^^^^^^^^^^^^^ (Basis 36? Hah!) :-P
Betrügt einfach:
$ bind '"\e[19~": "0000000000000000"'
Echo F8
Nur 1 (ja: 1 ) Tastendruck.
Ändern der Bindung für ctrl+U:
Senden Sie dies an ~/.inputrc
:
echo '"\C-u": universal-argument >> ~/.inputrc
Lesen Sie die ~/.inputrc
Datei erneut:
ctrl+Xctrl+R
mach es wie es in emacs üblich ist (wie du wolltest):
foo - bar = baz ctrl+U16 ctrl+U0
7 Tasten (nach dem "Einrichten").
Etwas kürzer:
Verwenden Sie die Standardeinstellung "Multiplizieren mit 4" für "Universalargument" und enden Sie mit
ctrl+V 0
foo - bar = baz ctrl+Uctrl+Uctrl+V0
Nur 5 Schlüssel.
Verwendung des alt+nZugriffs auf (arg: n)
foo - bar = baz Alt+16Ctrl+V0
Das sind 6 Schlüssel, um die 16 Nullen zu erhalten.
Keine Tastenkombination ändern:
Wenn Sie in Ihrer Bash haben bash C-u kills the currently-being-typed line
.
Das liegt daran, "\C-u":
ist binden an unix-line-discard
.
Das könnte aber auch helfen:
Wenn, was ist, bevor der Cursor gelöscht wird, wird es auch in den "Kill-Ring" gelegt.
Also ctrl+u
löscht und ctrl+y
reißt zurück, was gelöscht wurde.
In einer sauberen Linie: 00
Geben Sie Erase It ein und ziehen Sie es zweimal zurück, um es zu erstellen 0000
.
Wiederholen Sie dies, um 00000000
(8 Nullen) zu erhalten, geben Sie schließlich den Befehl ein und ziehen Sie ihn zweimal zurück.
Der erste Satz (7 Tasten ctrlgedrückt halten ):
00 ctrl+Uctrl+Yctrl+Y ctrl+U
Der zweite Satz (5 Schlüssel)
ctrl+Uctrl+Yctrl+Y ctrl+U
Das wird acht Nullen im Löschring bekommen, dann tippe was du willst:
foo - bar = baz ctrl-Y ctrl-Y
bekommen:
foo --bar=baz 0000000000000000
Wenn Sie auf die Idee gekommen sind, können Sie auch eingeben , was Sie brauchen, zum Anfang der Zeile gehen ( ctrl-Y), wie oben beschrieben ctrl-Evorgehen (bis zu acht Nullen), bis zum Ende gehen ( ) und zweimal ziehen.
foo - bar = baz ctrl-A00ctrl-Uctrl-Yctrl-Y ctrl-Uctrl-Yctrl-Y ctrl-U ctrl-Ectrl-Yctrl-Y
Das sind 15 Tasten (neben dem Befehl selbst).
Nicht kurz, ich weiß, aber das funktioniert nur mit dem, was verfügbar war.
Das ist etwas kürzer:
0000 ctrl-U ctrl-Y ctrl-Y ctrl-Y ctrl-Yctrl-A foo --bar = baz
Das sind 11 Schlüssel
know what you want to do
. Woher weiß Bash in einem komplexen verschachtelten Befehl, welche Teile Sie das Ergebnis der Ausführung im Verlauf sehen möchten, im Gegensatz zum Befehl selbst? Was ist mit Variablen? Kurz gesagt, Bash wird immer dascode
in der Geschichte haben, nicht das Ergebnis der Ausführung des Codes.