it-swarm.com.de

Wie weisen Sie den Tasten im Terminal Befehle zu?

Gibt es eine Lösung, um Wörtern, die im Terminal verwendet werden, spezielle Tastenkombinationen zuzuweisen? Zum Beispiel ist der Befehl less sehr nützlich und ich benutze i sehr oft, um die Ausgabe eines anderen Prozesses durch ihn zu leiten.

Die Idee wäre, spezielle Tastenkombinationen einzurichten, die nur im Terminalbetrieb aktiv sind und zum Schreiben verschiedener Befehle verwendet werden. Also drücken Ctrl + L im terminalfenster könnte man schreiben

| less

oder Ctrl + G stehen könnte für

| grep

Hinweis: Ich meine nur das Hinzufügen der Buchstaben zur Kommandozeile und nicht das Ausführen des finally. Eine ähnliche Art und Weise, was Tabvervollständigung ist, aber spezifischer.

10
NES

Ja, Sie können den Befehl bind verwenden

bind '"\ey"':"\"less \C-m\""

Das ordnet Alt-e dem Befehl less zu und führt ihn aus (mit der Tastenkombination\C-m aka Ctrl-m)

Wahrscheinlich für die | du musst entkommen.

bind '"\ey"':"\"\|less \C-m\""

Wenn Sie es einfach an die Befehlszeile anhängen möchten, entfernen Sie das Zeichen *\C-m\"".

Seien Sie vorsichtig, da bereits einige Bindungen definiert sind:

Ctrl + A    Go to the beginning of the line you are currently typing on
Ctrl + E    Go to the end of the line you are currently typing on
Ctrl + L                Clears the Screen, similar to the clear command
Ctrl + U    Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H    Same as backspace
Ctrl + R    Let’s you search through previously used commands
Ctrl + C    Kill whatever you are running
Ctrl + D    Exit the current Shell
Ctrl + Z    Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W    Delete the Word before the cursor
Ctrl + K    Clear the line after the cursor
Ctrl + T    Swap the last two characters before the cursor
Esc + T     Swap the last two words before the cursor
Alt + F     Move cursor forward one Word on the current line
Alt + B     Move cursor backward one Word on the current line
Tab     Auto-complete files and folder names

Die Steuertaste wird, wie Sie oben sehen, mit C-m erstellt, sodass Sie den Befehl less wie folgt mit Strg-g starten können:

bind '"\ C-g"': "\"\| less *\C-m\"

Um die Tastencodes für die Alt-Taste (nur für die ALT-Taste) abzurufen, können Sie den Befehl read in der Shell verwenden:

@~$ read
^[y

^ [y ist gleich\ey

Für weitere Informationen wurde diese Frage auch im Stackoverflow beantwortet:

https://stackoverflow.com/questions/4119991/bash-call-script-with-customized-keyboard-shortcuts

10
tmow