Durchsuchen Sie den Terminalverlauf mit den Auf- und Ab-Tasten in OS X Lion

Nachdem ich auf OS XI aktualisiert habe, kann ich meine ~/.inputrc-Bindungen nicht verwenden, um den Shell-Befehlsverlauf zu durchsuchen:

# these allow you to start typing a command and
# use the up/down arrow to auto complete from
# commands in your history
"\e[B": history-search-forward
"\e[A": history-search-backward

Irgendeine Idee, was ich ändern oder tun muss? Gibt es Standardschlüssel, die ich verwenden könnte?

Ich weiß nicht, was falsch sein könnte, aber zum Vergleich hat meine .inputrc die gleichen Bindungen wie deine und sie funktionieren (Mac OS X Lion 10.7.1). Wenn ich meine .inputrc vollständig entferne, funktionieren die Pfeiltasten tatsächlich immer noch, da sie standardmäßig ähnlichen Verlaufsbefehlen zugeordnet sind, wie durch gezeigt bind -P. Was passiert mit den Pfeiltasten nach oben/unten, wenn Sie Ihre .inputrc-Datei entfernen (oder umbenennen)?

Antworten (3)

Das Scrollen im Verlauf nach oben/unten im Terminal funktioniert nur in bash, nicht sh. Versuchen Sie bash, Terminal einzugeben, und prüfen Sie, ob die Pfeiltasten funktionieren. Wenn dies der Fall ist, können Sie zu den Einstellungen gehen und Ihre Standard-Login-Shell auf /bin/bash.

Für diejenigen, die nach der Bild-auf-/Bild-ab-Taste anstelle des Aufwärts-/Abwärtspfeils suchen. Verwenden Sie die folgenden Einstellungen.

# Page Up/Down
"\e[5~": history-search-backward
"\e[6~": history-search-forward

Getestet mit iterm und bash Version 3.2

Zum Durchsuchen Ihres Verlaufs können Sie auch eine raffinierte Funktion der Bash-Shell verwenden.

Dies ist vielleicht ein wenig vom Thema abgekommen, aber in der Bash-Shell können Sie STRG-R verwenden, um in Ihrem Shell-Verlauf rückwärts zu suchen.

Beispiel - Suche nach SSH-Verbindungen in Ihrem Verlauf:

tatooine-2257:~ mallert$
(reverse-i-search)`ssh': ssh mallert@localhost

Und wenn ich erneut STRG-R drücke, führt bash eine Suche in den früheren Suchergebnissen durch:

tatooine-2257:~ mallert$
(reverse-i-search)`ssh': ssh localhost

Und Sie können immer wieder STRG-R drücken. Sie können auch mit regulären Ausdrücken arbeiten.