Bashs Äquivalent zu Tcshs ESC + p

1909
Misha Moroshko

Ich ziehe von Tcsh zu Bash und möchte die ESC+ pFunktion mitnehmen .

Wenn ich beispielsweise tippe git clund dann ESC+ drücke p, sollte es automatisch bis zum letzten Befehl ausgeführt werden, der mit git cl(z. B. git clone something) beginnt, und den Cursor an das Ende setzen .

Ich habe folgende 2 Zeilen hinzugefügt ~/.inputrc:

"\ep": history-search-backward "\en": history-search-forward 

Das gibt mir genau das, was ich brauche, außer dass der Cursor nicht bis zum Ende bewegt wird.

Irgendwelche Ideen, wie man das beheben kann?

6

2 Antworten auf die Frage

4
Andrew Schulman

Versuche dies:

"\ep": "\M-\C-p\C-e" "\M-\C-p": history-search-backward 

Die erste Zeile definiert ein "Makro", das zwei Tastenanschläge, \ M- \ Cp und \ Ce einfügt. Der erste Tastenanschlag, den Sie als Verlaufssuche definieren, und der zweite ist bereits als Zeilenende definiert.

Das füge ich jetzt meiner Eingabe hinzu, etwas, was mich neugierig machte! Rob vor 12 Jahren 0
Es funktioniert, aber ich habe nicht darüber nachgedacht, was es beim Durchsuchen mehrerer Einträge tun würde. Normalerweise tippe ich ssh ein und gehe die Verlaufssuche durch. Bewegen Sie den Cursor an das Ende der Zeile. Rob vor 12 Jahren 0
Genau genommen - ich interessiere mich nicht für diese Befehlskombination, da sie, wie Sie sagen, die Suche durch mehrere übereinstimmende Einträge bricht. Aber es war das, was Misha wollte. Andrew Schulman vor 12 Jahren 0
1
Paul

control-rZuerst tun (oder einmal den allgemeinen Teil des Befehls giteingeben, wie nachher, dann den Rest eingeben und schlagen), Endwird dies in derselben Anzahl von Tastendrücken wie Esc-P:) ausgeführt.