Mantengo un historial de bash bastante largo y, a veces, cuando busco algo con la función de búsqueda inversa bash ( Ctrl+ r) termino al comienzo del historial de búsqueda y todavía no encontré lo que necesitaba y luego me gustaría volver al final del archivo de historial. Una opción es usar la función de búsqueda hacia adelante ( Ctrl+ s) que se acerca al final del historial o ejecutar #
, pero ¿hay también un atajo de teclado para moverse directamente al final del historial de bash?
bash
command-history
Martín
fuente
fuente
history
le mostrará todos los comandos de bash hecho ..Respuestas:
Existe la función readline
end-of-history
, asignada de forma predeterminada a M- >, pero si se usa durante la búsqueda inversa, sale del indicador de búsqueda inversa.Una posible solución / truco
Iniciar búsqueda de cadena
En cambio, para usar la búsqueda inversa, puede usar
history-search-backward
yhistory-search-forward
(predeterminado sin asignar), asignarlos a up/down(muy útil) en su.inputrc
:Entonces, después de haber escrito, podría invertir la búsqueda presionando up (en lugar de Ctrl+ R), y cuando desee regresar al final del historial puede usar la
end-of-history
función presionando ( M- >)De esta manera, "La cadena de búsqueda debe coincidir al comienzo de una línea de historial ", por lo que, si busca
ls -ltr
, debe escribirls
y luego presionar la uptecla.Búsqueda de subcadenas
si desea " La cadena de búsqueda puede coincidir en cualquier parte de una línea de historial ", debe usar
history-substring-search-forward
yhistory-substring-search-backward
:De esta manera, si busca
ls -ltr
, puede escribirls
, pero tambiénltr
, antes de presionar up.Referencia: Manual de referencia de Bash - Comandos para el historial .
fuente