Gibt es eine Möglichkeit, ein Tastaturmakro in Bash zu speichern?
2612
mgalgs
Ich möchte ein Tastaturmakro, das ich mit C-x (und aufgenommen habe, dauerhaft speichern C-x ). Gibt es eine einfache Möglichkeit, die Quelle für mein neu aufgenommenes Makro zu "sehen", damit ich es in ~ / .inputrc an eine Tastenkombination binden kann?
Ich dachte, ich dump-macroswürde es tun, aber es scheint nicht ...
Nun, ich werde verdammt sein. Ich wusste nichts über diese Funktion.
Charlie Martin vor 13 Jahren
0
Ich verwende gnome-terminal und gconf-editor zum Konfigurieren von Tastenkombinationen.
saeedgnu vor 13 Jahren
0
Es stellte sich heraus, dass es wirklich nicht möglich ist, das war bis heute Abend nicht möglich!
Da ich neugierig war, in den bash-Quellcode zu graben, habe ich dieses Feature hinzugefügt :). Wir werden sehen, ob die Bash-Betreuer meinen Patch anwenden .
1
Dobes Vandermeer
Am besten könnte ich mir vorstellen:
echo >>.inputrc '<ctrl-x e>'
Oder wenn das Makro mehrere Zeilen hat, versuchen Sie Folgendes:
echo >>.inputrc <<EOF <ctrl-x e> EOF
Wenn Sie Steuerzeichen verwendet haben, möchten Sie möglicherweise ein Sed einfügen, um sie durch die richtigen Escape-Codes für inputrc zu ersetzen.
Dann gehen Sie rein und bearbeiten Sie die letzte Zeile, um das richtige Präfix und Suffix für das zu erreichen, was Sie erreichen wollen ...
Speichern Sie einen Schritt, bearbeiten Sie .inputrc, positionieren Sie ihn an die Stelle, an der Sie das Makro haben möchten, und drücken Sie Cx e, um es einzugeben. Aber ja, ich würde sagen, das ist der beste Weg, natürlich können Sie es überall platzieren, wo Sie wollen, es ist nur ein Haufen Tastenanschläge. Wenn Sie sich nicht im "richtigen Modus / Ort / Programm" befinden, werden Sie wahrscheinlich missverstandene Eingaben erhalten. Aber man würde erwarten, dass man das Makro nicht an der richtigen Stelle verwenden würde, richtig?
lornix vor 13 Jahren
0
0
Dennis Hodapp
Anscheinend können Sie mit .inputrc nur Ihre Befehle bearbeiten. Ich habe es auch probiert, konnte dump-macroses aber nicht zum Laufen bringen und es gibt auch keine Dokumentation darüber. Vielleicht funktioniert es nicht oder ist veraltet.
Wenn es einen Befehl wie xevfür Emacs-Bindungen gäbe, wäre das hilfreich. In jedem Fall denke ich, dass Sie am besten Inputrc gemäß den Richtlinien im ersten Link unten auf der Seite bearbeiten . Es ist ganz leicht zu machen.
Der zweite Link ist eine Beispiel- Inputrc- Datei, mit deren Hilfe Sie Makros einrichten können.
Daneben gibt es auch einen coolen Befehl, bind -Pder alle Ihre Makros auflistet.