Ich habe vor ein paar Monaten einen Befehl gefunden, mit dem mein Bash-Verlauf automatisch vervollständigt wird, wenn ich auf den Aufwärtspfeil drücke:
$ vim fi
Drücken Sie ↑
$ vim file.py
Ich würde dies gerne auf meinem neuen Computer einrichten, da dies viel Zeit spart, wenn ich eine große Historie führe. Das Problem ist, dass ich mich nicht erinnern kann, wo es erwähnt wurde und das Lesen von endlosen Bash-Referenzen und Tutorials hat leider auch nicht geholfen.
Kennt jemand den Befehl?
Wahrscheinlich so etwas wie
# ~/.inputrc "\ e [A": Verlaufssuche rückwärts "\ e [B": Verlaufssuche vorwärts
oder äquivalent,
# ~/.bashrc wenn [[$ - == * i *]] dann bind '"\ e [A": history-search -backward ' bind' "\ e [B": History-Search-Forward ' fi
(Die if-Anweisung prüft den interaktiven Modus.)
Normalerweise sind Up und Down an die Readline-Funktionen previous-history
Bzw. next-history
Gebunden. Ich ziehe es vor, PgUp/PgDn an diese Funktionen zu binden, anstatt den normalen Betrieb von Auf/Ab zu verschieben.
# ~/.inputrc "\ e [5 ~": Verlaufssuche rückwärts "\ e [6 ~": Verlaufssuche vorwärts
Nachdem Sie ~/.inputrc
Geändert haben, starten Sie Ihre Shell neu oder verwenden Sie Ctrl+X, Ctrl+R um es erneut zu lesen ~/.inputrc
.
Übrigens, wenn Sie relevante Unterlagen suchen:
Bash verwendet Die GNU Readline Library für die Shell-Eingabeaufforderung und den Verlauf.
Aktualisieren Sie .inputrc mit folgendem Befehl:
"\C-[OA": history-search-backward
"\C-[[A": history-search-backward
"\C-[OB": history-search-forward
"\C-[[B": history-search-forward
Wenn set enable-keypad on
ist in deinem ~/.inputrc
Wie einige Benutzer von st ( suckless simple terminal ) vielleicht wissen, dass sich die Pfeiltasten im Tastaturmodus befinden. Ubuntu wird mit diesem nützlichen /usr/share/doc/bash/inputrc.arrows
:
# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD" backward-char
"\C-[OC" forward-char
"\C-[OA" previous-history
"\C-[OB" next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D" backward-char
"\C-[[C" forward-char
"\C-[[A" previous-history
"\C-[[B" next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD" backward-char
"\C-M-OC" forward-char
"\C-M-OA" previous-history
"\C-M-OB" next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D" backward-char
"\C-M-[C" forward-char
"\C-M-[A" previous-history
"\C-M-[B" next-history
Ich bin mir nicht sicher, ob du alles brauchst, aber es könnte nicht schaden, in deinem ~/.inputrc
:
# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char
# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char
Dies ist auch das gleiche Thema: Meine Cursortasten funktionieren nicht und auch dieses xterm: Sondertasten
Verwenden Sie dies mit ohmyzsh in Ihrem . Zshrc :
bindkey '^[OA' history-search-backward
bindkey '^[OB' history-search-forward
Zum Nachladen source ~/.zshrc
oder Terminal neu starten.