(reverse-i-search)in Bash


26

通常、(reverse-i-search)にCTRL+ rを使用しますが、時々、探していたコマンドを渡します。もう一度やると、(reverse-i-search)もう見つかりません。コマンド履歴への現在のポインタは、探しているコマンドの前にあると思います。

1000回クリックすることなく、履歴内の最新のコマンドに戻る方法を知っている人はいdown arrowますか?


1
逆検索はbash(およびreadlineライブラリ)の機能であるため、タイトルと質問を少し編集して、それを反映させました。
ダグ・ハリス

必要なコマンドを過ぎた場合は、CTRL+SHIFT+R戻るようにします
リッキーロビンソン14年

回答:


7

stackoverflow.comにも同様の質問があります。

最良の答えはCtrl+G、現在の検索をキャンセルするために使用することです。


これは本当に最良の答えではありません。最良の答えは、デニスウィリアムソンによって与えられたものです:stty -ixonあなた.bashrc(または他の対応する設定ファイル)を追加してからCtrl-S、履歴を前に進めCtrl-Gます。Ctrl-SCtrl-G変更reverse-i-searchした後、最初にキーを押すi-searchと、次Ctrl-Sは最初の一歩を踏み出します。その後、それぞれCtrl-Sがさらに一歩前進します。
nrz 14年

または、すでに検索を終了した場合(escまたは矢印キーを押すなど)、Escに続けて「>」を押すことができます
-Superole

38

実際、その質問に対する別の答えは、より良い選択肢を提供します。

あなたに~/.bashrc追加次の行:

stty -ixon

次に、Ctrl- sを使用して、使用するのと同じ方法で履歴を進めますCtrl- r後ろに進みます。

これは、履歴の閲覧中に新しいフォワード検索(と呼ばi-searchれるreverse-i-search)を開始するためにも機能します。あなたがいるとCtrl- rそして、あなたが本当に探していたものをオーバーシュート数倍上矢印を押す(または、あなたの心を変更)して、目的地の近くにコマンドのいくつかのテキストを入力します。Ctrl- sを押して、その行から数文字を入力します。Zoooom!それにまっすぐ。


2
stty -ixonの意味は何ですか?他の状況で必要になる可能性のある何かを無効にしますか?
グレゴリーパコス

7
@GregoryPakosz:XON / XOFF(ソフトウェアフロー制御)を無効にします。これは、300ボーよりも少し高いレートで通信しているため、キーボードからは役に立ちません。
追って通知があるまで一時停止します。

ありがとう、しばらく
グーグルで検索
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.