リバース履歴検索を使用する場合は、Ctrl-Rを使用してbashでテキストを強調表示する

リバース履歴検索を使用する場合は、Ctrl-Rを使用してbashでテキストを強調表示する

を使用すると、Ctrl-Rbashで履歴を検索できます。

しかし、私が入力した関連単語を強調表示したい場合はどうすればよいですか?

例:

(reverse-i-search)`mount': sudo mount /dev/sda2 /mnt

mount上記の逆検索では、全命令で世界を強調したいと思いますsudo mount /dev/sda2 /mnt。 Bashでこれを達成する方法は?

答え1

readlinebashラインエディタの場合)にはこの可能性はありません。

zshしかし、基本的にそうします。既定では、検索されたテキストは下線で強調表示されますが、これを変更できます。たとえば、

zle_highlight=(isearch:standout)

または:

zle_highlight=(isearch:fg=red)

zleisの行エディタ、iszshに似ています)。readlinebash

答え2

したがって、Bash 5.1とReadline 8.1から実際にこれを行うことができます。

~からhttps://lwn.net/Articles/839212/:

最も顕著な新機能はReadlineにあります。 「Gangs」が追加され、ポイントとマーカー(領域、つまり「アクティブ領域」)の間のテキストが強調表示されます。これは、角かっこ貼り付けで挿入されたテキストを視覚的に表示し、増分および非増分履歴検索で見つかったテキストを表示するために追加されました。現在の顔はブラケット貼り付けに関連付けられており、ブラケット貼り付けモードで有効または無効になります。角かっこ貼り付けモードはデフォルトで有効になっています。

https://www.reddit.com/r/archlinux/comments/ka5xek/latest_readline_upgrade_causes_it_to_highlight

イメージソース:https://www.reddit.com/r/archlinux/comments/ka5xek/

デフォルトでは有効になっているため、無効にするにはinputrcに次のものを追加する必要があります。

set enable-bracketed-paste off

関連情報