![readline: ¿la búsqueda no incremental ofrece algo que la búsqueda incremental no ofrece?](https://rvso.com/image/109250/readline%3A%20%C2%BFla%20b%C3%BAsqueda%20no%20incremental%20ofrece%20algo%20que%20la%20b%C3%BAsqueda%20incremental%20no%20ofrece%3F.png)
Utilizo mucho la búsqueda incremental (Ctl-r/Ctl-s) en bash y la encuentro increíblemente útil.
Noté que Meta-p (Esc p) ejecuta una búsqueda no incremental y tengo curiosidad por saber para qué sirve, dada la existencia de su equivalente incremental. ¿Tiene algunos trucos bajo la manga que estoy pasando por alto? ¿Quizás sea más rápido si tu historial de comandos es absolutamente enorme?
Dado que no le brinda la misma retroalimentación interactiva que obtiene de la búsqueda incremental, me pregunto por qué lo usaría.
Respuesta1
Supongo que uno podría preferir la búsqueda no incremental en el historial de Bash por las mismas razones que lo haría en otras interfaces; Puede resultar un poco molesto ver coincidencias irrelevantes cuando sabes exactamente lo que estás buscando.
Además, eficiencia. No tanto hoy en día, pero en los viejos tiempos, puedo imaginar que hacer una búsqueda incremental sería mucho más lento.
Respuesta2
De hecho, encontré una característica realmente interesante de la búsqueda no incremental. De forma predeterminada, Readline vincula:
M-n
anon-incremental-forward-search-history
M-p
anon-incremental-reverse-search-history
Estos apestan un poco, en mi humilde opinión. Pero Readlinetambiéntiene otro par de funciones de búsqueda no incrementales, sin enlaces predeterminados:
history-search-forward
history-search-backward
Busque hacia adelante/hacia atrás en el historial la cadena de caracteres entre el inicio de la línea actual y el punto.
En realidad, son bastante útiles. Los he vinculado a M-n
y M-p
, reemplazando las funciones no incrementales predeterminadas.
Si comencé a escribir un comando y decido buscar una entrada coincidente en el historial, puedo tocar Escape p
(ya que en realidad no tengo una clave Meta).
Los toques repetidos retroceden más y Escape n
avanzan nuevamente.