私は.inputrc
ユーザーディレクトリに簡単なディレクトリを作成し、以下を追加しました。
"e[A": history-search-backward
"e[B": history-search-forward
"e[C": forward-char
"e[D": backward-char
バッシュリロード
exec bash -l
その後、矢印キーを使用してbash履歴を簡単にナビゲートできます。
これで、Ubuntu 18では同じように動作しません。 inputrcファイルを読んでいないかどうかわかりません。他の人も同じ問題を抱えて解決策を見つけましたか?
私もこの答えを試しました~/.inputrc ファイルソースが正しくありません。
bind -f ~/.inputrc
しかし、これはまだ私には効果がありません.. :/
答え1
私の考えでは、キーバインディングにバックスラッシュ「\」が必要なようです。しかし、それがあなたに必要なものかどうかはわかりません。私はDebianを使用しています。
"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char
以下は、バインディングがアクティブであることを確認する方法の例です。
履歴リバース検索が設定されていることを確認してください
$ bind -p|grep history-search-backward # history-search-backward (not bound)
どのコマンドに「\ e [A」キーシーケンスがあるかをテストしてください。
$ bind -p|grep "\\e\[A" "\e[A": previous-history
~/.inputrcに新しいキーバインディングを作成して再ロードします。
$ echo '"\e[A": history-search-backward' >> ~/.inputrc $ bind -f ~/.inputrc
過去の履歴検索がバックに設定されていることをもう一度確認してください。
$ bind -p|grep history-search-backward "\e[A": history-search-backward