検索から元のコマンドに戻す方法

検索から元のコマンドに戻す方法

指示に従うここ、前のコマンドに基づいてシェルに入力した内容を、上矢印と下矢印を使用してオートコンプリートするように.bash_profileで編集しました。

私の.bash_profileに以下を追加しました。

# bind history search to up and down arrows
if [[ $- == *i* ]]
then
    bind '"\e[A": history-search-backward'
    bind '"\e[B": history-search-forward'
fi

これは素晴らしいですが、探しているコマンドが見つからない場合は、下向き矢印を使用して元のテキストに戻ることを望みます。

たとえば、以前に3つのコマンドがあったとします。

  • ls -l
  • ls -al

今、私が入力したものはlsに自動完成ですls -a

上矢印をクリックすると(現在の実装を使用して)テキストが自動補完されますls -al。上矢印をもう一度クリックすると、テキストがオートコンプリートされますls -l。この時点で私が探しているものが見つかりません。 。下矢印を押すとテキストがに変わりls -alますが、下矢印をもう一度押すと何も変わりません。ls履歴の最新のコマンドに達したら、下矢印を押して元のテキストに戻りたいです(この場合)。

誰かが私を助けるか、正しい方向に私を指すことができたら、非常に感謝します。

ありがとうございます!

答え1

Ctrl+Kカーソルから行末までのテキストが削除されます。したがって、カーソルを移動しないと、元のCtrl+Kテキストが提供されます(つまり、効果的に復元されます)。

関連情報