readline: a pesquisa não incremental oferece algo que a pesquisa incremental não oferece?

3

Eu uso muito a pesquisa incremental (Ctl-r / Ctl-s) no bash, e acho incrivelmente útil.

Eu notei que o Meta-p (Esc p) executa uma pesquisa não-incremental, e estou curioso para qual propósito ele serve, dada a existência de seu equivalente incremental. Tem alguns truques na manga que eu estou negligenciando? Talvez seja mais rápido se sua história de comando é absolutamente enorme?

Como ele não fornece o mesmo feedback interativo obtido da pesquisa incremental, estou me perguntando por que você o usaria.

    
por ivan 09.04.2017 / 00:54

2 respostas

0

Na verdade, encontrei um ótimo recurso de pesquisa não incremental. Por padrão, o Readline se liga:

  • M-n to non-incremental-forward-search-history
  • M-p to non-incremental-reverse-search-history

Isso é meio ruim, IMHO. Mas Readline também tem outro par de funções de pesquisa não incremental, sem ligações padrão:

  • history-search-forward
  • history-search-backward

Search forward/backward through the history for the string of characters between the start of the current line and the point.

Estes são realmente muito úteis. Eu os vinculei a M-n e M-p , substituindo as funções não incrementais padrão.

Se eu comecei a digitar um comando e decidi procurar uma entrada de histórico correspondente, posso tocar em Escape p (já que eu não tenho uma chave Meta).

As repetições repetem o ciclo mais para trás e Escape n avança novamente.

    
por 13.06.2017 / 06:16
1

Suponho que se poderia preferir uma pesquisa não incremental no histórico do Bash pelas mesmas razões que faria em outras interfaces; pode ser um pouco perturbador ver as correspondências irrelevantes passarem quando você sabe exatamente o que está procurando.

Além disso, eficiência. Não tanto hoje em dia, mas nos velhos tempos, posso imaginar que fazer uma pesquisa incremental seria muito mais lenta.

    
por 20.04.2017 / 19:15

Tags