Eu uso muito a pesquisa incremental (Ctl-r/Ctl-s) no bash e acho-a extremamente útil.
Percebi que o Meta-p (Esc p) executa uma pesquisa não incremental e estou curioso para saber qual é a finalidade dele, dada a existência de seu equivalente incremental. Tem alguns truques na manga que estou ignorando? Talvez seja mais rápido se o seu histórico de comandos for absolutamente enorme?
Como ele não fornece o mesmo feedback interativo que você obtém na pesquisa incremental, estou me perguntando por que você o usaria.
Responder1
Presumo que alguém poderia preferir a pesquisa não incremental no histórico do Bash pelas mesmas razões que faria em outras interfaces; pode ser um pouco perturbador ver correspondências irrelevantes passando quando você sabe exatamente o que está procurando.
Além disso, eficiência. Não tanto hoje em dia, mas antigamente, posso imaginar que fazer uma pesquisa incremental seria muito mais lento.
Responder2
Na verdade, encontrei um recurso muito interessante de pesquisa não incremental. Por padrão, Readline vincula:
M-n
paranon-incremental-forward-search-history
M-p
paranon-incremental-reverse-search-history
Isso é meio chato, IMHO. Mas Readlinetambémtem outro par de funções de pesquisa não incrementais, sem ligações padrão:
history-search-forward
history-search-backward
Pesquise para frente/para trás no histórico a sequência de caracteres entre o início da linha atual e o ponto.
Na verdade, eles são muito úteis. Eu os vinculei a M-n
e M-p
, substituindo as funções não incrementais padrão.
Se eu começar a digitar um comando e decidir procurar uma entrada de histórico correspondente, posso tocar Escape p
(já que na verdade não tenho uma tecla Meta).
Toques repetidos retrocedem e Escape n
avançam novamente.