Hervorheben von Text in Bash bei Verwendung der Reverse-History-Suche mit Strg-R

6

Mit Ctrl-Rkann ich den Verlauf in Bash durchsuchen.

Aber was tun, wenn ich das relevante Wort hervorheben möchte, auf das ich geschrieben habe?

Beispiel:

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

In der obigen umgekehrten Suche möchte ich die Welt mountaus dem gesamten Befehl hervorheben sudo mount /dev/sda2 /mnt. Wie erreicht man das in Bash?

Sibi
quelle

Antworten:

4

readline(das bashfür seinen Zeileneditor verwendet) hat diese Möglichkeit nicht.

zshmacht es aber standardmäßig. Standardmäßig wird der gesuchte Text unterstrichen hervorgehoben. Sie können dies jedoch ändern. Zum Beispiel mit:

zle_highlight=(isearch:standout)

Oder:

zle_highlight=(isearch:fg=red)

( zleist zsh's Zeileneditor, wie readlineist bash' s).

Stéphane Chazelas
quelle
Für mich zshscheint in nichts für mich hervorzuheben. Wie überprüfe ich, ob zlees sich wirklich um den Editor handelt, den ich dafür verwende?
Bernhard
@ Bernhard, möglicherweise hast du eine alte Version von zsh. Hervorhebung wurde vor relativ kurzer Zeit um 2008 (4.3.6 oder 7) hinzugefügt
Stéphane Chazelas
Ah, das ist klar. Wir arbeiten hier mit den neuesten SLES. zshVersion ist 4.3.6, also anscheinend in 4.3.7 hinzugefügt. Danke :)
Bernhard
Ändert sich mit der Veröffentlichung von bash 4.4 Folgendes: lists.gnu.org/archive/html/bug-bash/2016-09/msg00018.html? Lesen Sie die in Abschnitt 2 c erwähnte Funktion für die Readline.
Sibi