Eigentlich hängt es davon ab, welche Shell Sie verwenden, jedoch haben die meisten Shells ähnliche Bindungen. Die Bindungen, auf die Sie sich beziehen (z. B. Ctrl+ Aund Ctrl+E ), sind Bindungen, die Sie in vielen anderen Programmen finden, und sie werden seit Ewigkeiten verwendet. Übrigens funktionieren sie auch in den meisten UI-Apps.
Hier ist ein Blick auf die Standardbindungen für Bash:
Wichtigste Bash-Tastaturkürzel
Bitte beachten Sie auch, dass Sie sie anpassen können. Sie müssen eine Datei mit dem Namen erstellen, wie Sie möchten. Ich habe meine .bash_key_bindings benannt und sie in mein Home-Verzeichnis gestellt. Dort können Sie einige allgemeine Bash-Optionen festlegen und auch Tastenkombinationen festlegen. Um sicherzustellen, dass sie angewendet werden, müssen Sie eine Datei mit dem Namen ".bashrc" ändern , die beim Start von bash eingelesen wird (Sie müssen sie erstellen, falls sie nicht vorhanden ist), und dort den folgenden Aufruf ausführen:
bind -f ~/.bash_key_bindings
~ bedeutet Home-Verzeichnis in Bash, wie oben angegeben. Sie können die Datei beliebig benennen und an einer beliebigen Stelle platzieren, solange Sie den richtigen Pfad + Namen für die Bindung eingeben.
Lassen Sie mich Ihnen einige Auszüge aus meiner .bash_key_bindings-Datei zeigen:
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off
Diese stellen nur ein paar Optionen ein (z. B. Deaktivieren der Glocke; dies kann alles auf der Bash-Webseite nachgeschlagen werden).
"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert
Diese stellen sicher, dass die Zeichen allein nichts anderes tun, als sicherzustellen, dass das Zeichen "getippt" ist (sie fügen sich in die Shell ein).
"\C-dW": kill-word
"\C-dL": kill-line
"\C-dw": backward-kill-word
"\C-dl": backward-kill-line
"\C-da": kill-line
Das ist ziemlich interessant. Wenn ich alleine Ctrl+ Ddrücke (ich habe d zum Löschen ausgewählt), passiert nichts. Wenn ich dann aber einen Kleinbuchstaben w eingebe, wird das Wort links vom Cursor gelöscht. Wenn ich jedoch Großbuchstaben eingebe, wird das Wort rechts vom Cursor getötet. Gleiches gilt für l und L für die gesamte Zeile ab dem Cursor. Wenn ich ein "a" eingebe, wird die gesamte Zeile tatsächlich gelöscht (alles vor und nach dem Cursor).
Ich habe ein Wort vorwärts auf Ctrl+ Fund ein Wort rückwärts auf Ctrl+ gesetztB
"\C-f": forward-word
"\C-b": backward-word
Wie Sie sehen, können Sie eine Verknüpfung erstellen, die sofort zu einer Aktion führt, oder Sie können eine Verknüpfung erstellen, die nur eine Zeichenfolge einleitet, und dann müssen Sie ein (oder mehrere) Zeichen eingeben, damit eine Aktion ausgeführt wird im Beispiel weiter oben gezeigt.
Wenn Sie mit den Standardbindungen nicht zufrieden sind, können Sie sie nach Ihren Wünschen anpassen. Hier ist ein Link zum Bash-Handbuch für weitere Informationen.