readline:非増分検索は増分検索が提供しない機能を提供しますか?

readline:非増分検索は増分検索が提供しない機能を提供しますか?

私はbashで増分検索(Ctl-r / Ctl-s)をたくさん使うのに非常に便利だと思います。

私はMeta-p(Esc p)が非増分検索を実行していることを知りました。私が見落としているいくつかのトリックがありますか?命令の記録が非常に大きい場合、より速いかもしれませんか?

インクリメンタル検索で得られるのと同じインタラクティブなフィードバックを提供しないので、それを使用したい理由は疑問に思います。

答え1

私は、人々が他のインターフェースでやっているのと同じ理由で、Bashの記録で非増分検索を好むと思います。あなたが探しているものが何であるかを正確に知ると、関係のない一致が通過するのを見ることが可能かもしれません。

また、効率。今はあまりありませんが、過去には増分検索を実行するのがはるかに遅かったと想像できます。

答え2

私は実際に非増分検索のための非常に良い機能を発見しました。デフォルトでは、Readline は以下をバインドします。

  • M-n到着non-incremental-forward-search-history
  • M-p到着non-incremental-reverse-search-history

これは少し悪いと思います、IMHO。しかし、読む行返品デフォルトのバインディングを持たない別の非増分検索機能のペアがあります。

  • history-search-forward
  • history-search-backward

現在の行の先頭とその点の間の文字列を履歴から前後に検索します。

これらは実際に非常に便利です。デフォルトの非増分関数を置き換えてM-nandにバインドしました。M-p

コマンドの入力を開始し、一致する履歴項目を検索することを決定したら、クリックできますEscape p(実際にはメタキーがないため)。

繰り返しクリックすると、前後にEscape n再循環します。

関連情報