A cor falhou na pesquisa reversa

6

Eu posso inserir um comando:

$ echo hello
hello

Em seguida, pesquise com Ctrl + R:

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

Então, às vezes, a pesquisa falhará:

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

Posso de alguma forma colorir a parte "fail-i-reverse search" do monitor? Eu gostaria prefira se foi texto vermelho para contrastar com texto branco normal. Dessa forma eu posso diga rapidamente que uma pesquisa falhou.

    
por Steven Penny 14.03.2017 / 23:54

2 respostas

1

Como czvtools anotou , "falha na pesquisa reversa" dispara um sino. Você pode criar um sino visual em vez do regular. Crie um arquivo "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,

Compile e instale o arquivo:

tic xterm-vb.terminfo

Adicione uma linha a "~ / .profile" ou similar:

TERM=xterm-vb

Adicione uma linha a "~ / .inputrc":

set bell-style visible
    
por 06.04.2017 / 00:16
1

Com base na versão atual do Bash (4.4), a mensagem "fail-i-reverse search" é gerada no mesmo local & da mesma forma que "reverse-i-search", tornando-os indistinguíveis para qualquer recurso que possa mudar sua cor.

Essencialmente, para conseguir exatamente o que você pede é necessário modificar o código-fonte bash. (arquivo ./lib/readline/isearch.c na linha 180) link

A alternativa seria habilitar "campainha visual" para o seu terminal, porque quando a busca falha, há uma ação "Ding the bell" que pode ser um evento de áudio ou visual no seu terminal. (veja o arquivo ./lib/readline/isearch.c line 715)

    
por 19.03.2017 / 00:22