順方向増分検索を使用するためにbashを取得できないのはなぜですか?

順方向増分検索を使用するためにbashを取得できないのはなぜですか?

最近、私はbashをより効率的に使用する方法についていくつかのヒント記事を読んで、彼らは私が試したことのない組み合わせについて言及しました。つまり、Ctrl-S(コマンドを実行せずにプロンプ​​トで)Ctrl-Rから別の検索方法に移動することです。 Ctrl-Rをたくさん使うので、これは面白いです。

ただし、アクセス権のあるbashインストール(Mac OS Catalina、Windows用Git、ssh経由のDebian 10、ssh経由のNixOS)では有効にすることはできません。ほとんど邪魔になる可能性のあるさまざまなカスタマイズがあるので、私も試してみましたが、役に立ちません--noprofile --norcでした。

それぞれの場合、私はもちろん、最初にレコードから適切な行を選択して検索する「前方」があるようにしてから、キーコードを試しましたが、何も起こりませんでした。 (プロンプトがないだけでなく、文字を入力すると検索せずに行に表示されます。)もう一度Ctrl-Rを使用して何かを見つけます。

ドキュメントは基本的に動作するように聞こえます。。だからどうしたの?

ベストアンサー1

デフォルトのショートカットはCtrlSXOFF制御フローコマンドのショートカットと競合します。これは、XOFFコマンドを無効にするか、readlineコマンドで別のキーバインディングを使用してテストできます。

stty -ixon  # or,
bind '"\C-f": forward-search-history'

なぜこのショートカットを使用するのか分かりません。少なくともそれ以降はそれがデフォルトでした。バッシュ 1.1130年前に発売されました。しかし、推測しなければならない場合はこう言います。Emacsキーバインディングとemacs(通常は端末を完全に制御するアプリケーション)はCtrlSこれをショートカットとして使用することに問題がないかもしれません。です。明らかに、readlineはBSDのXON / XOFFをオフにする必要があります。1.03から、おそらく彼らは他のシステムでは基本的に動作しないことを知らなかったでしょう。

おすすめ記事