web-dev-qa-db-ja.com

色が逆i検索に失敗しました

コマンドを入力できます:

$ echo hello
hello

次に、Ctrl + Rで検索します。

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

その後、検索が失敗することがあります。

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

どういうわけか、ディスプレイの「失敗した逆i検索」部分に色を付けることはできますか?通常の白いテキストとは対照的に、赤いテキストの方がいいと思います。そうすれば、検索が失敗したことがすぐにわかります。

5
Steven Penny

czvtoolsに記載 のように、「failedreverse-i-search」はベルを鳴らします。通常のベルの代わりにビジュアルベルを作成できます。ファイル「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
1
Steven Penny

Bashの現在のバージョン(4.4)に基づいて、「reverse-i-searchに失敗しました」というメッセージが「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を参照)

1
czvtools