カラーリバース検索に失敗しました

カラーリバース検索に失敗しました

次のコマンドを入力できます。

$ echo hello
hello

次にCtrl + Rを使用して検索します。

(reverse-i-search)`h': echo hello

これにより検索が失敗することがあります。

(failed reverse-i-search)`hz': echo hello

ディスプレイの「逆検索失敗」部分に色を付けることはできますか?私は一般的な白いテキストとは対照的な赤いテキストを好みます。これにより、検索が失敗したことをすばやく知ることができます。

答え1

現在のバージョンのBash(4.4)に基づいて、「reverse-i-search」と同じ場所、同じ方法で「failed reverse-i-search」メッセージが生成され、変更される可能性のある機能と区別できなくなります。その色。

基本的に必要なものを正確に取得するには、bashソースコードを変更する必要があります。 (180行の周りのファイル./lib/readline/isearch.c)http://git.savannah.gnu.org/cgit/bash.git/tree/lib/readline/isearch.c

別のアプローチは、端末に「ビジュアルベル」を作動させることである。検索が失敗すると、端末はオーディオまたはビジュアルイベントになる可能性がある「着信音」操作を実行するためです。 (ファイル./lib/readline/isearch.c行715を参照)

答え2

〜のようにczvtoolsが指摘しました。、「逆検索失敗」通知が鳴ります。通常の着信音の代わりに視覚的な着信音を作成できます。 "xterm-vb.terminfo"ファイルを生成します。

xterm-vb|red visible bell,
# \e7                   save current cursor position
# \e[40A                up 40 lines
# \e[80C                move right 80 spaces
# \e[4D                 move left 4 spaces
# \e[5;30;41mERROR\e[m  bright background; foreground black; background red
# \e8                   restore cursor to position of last save_cursor
  flash=\e7\e[40A\e[80C\e[4D\e[5;30;41mERROR\e[m\e8,
  use=xterm,

ファイルをコンパイルしてインストールします。

tic xterm-vb.terminfo

「~/.profile」または同様の行を追加します。

TERM=xterm-vb

"~/.inputrc"に次の行を追加します。

set bell-style visible

関連情報