En la terminal, puedo escribir CTRL-Rpara buscar un comando coincidente previamente escrito en BASH. Por ejemplo, si escribo, CTRL-Rentonces grep
aparece mi último grep
comando, y puedo presionar enter para usarlo. Sin embargo, esto solo da una sugerencia. ¿Hay alguna forma de recorrer otros comandos de coincidencia previamente escritos?
444
CTRL+SHIFT+r
no funciona para mí.[[ $- == *i* ]] && stty -ixon
a su .bashrc y luegoCTRL+s
funcionará como el reverso deCTRL+r
Si cree que el comando se usará con frecuencia, puede agregar una etiqueta
Entonces
Esto funciona porque
#
es un delimitador de comentarios, es decir, todo lo que viene después del símbolo no se interpreta como un comando. Sin embargo, se registrará en el historial y, por lo tanto, se puede buscar.fuente
También puede configurar las flechas hacia arriba y hacia abajo para hacer una búsqueda ligeramente diferente agregando estas líneas a ~ / .inputrc:
En lugar de buscar una subcadena en cualquier parte del comando (como Ctrl-r ), buscará un comando que comience con el texto a la izquierda del cursor . Por ejemplo, si ejecuto estos comandos:
luego escriba
ls
y presione Updos veces, se mostraráls bart
y el cursor en el mismo lugar. Compare con Ctrl- r, donde encontraría ells
doble en la última línea, por lo que tendría que presionarlo una vez más para encontrar la línea anterior.Estos enfoques tienen sus puntos fuertes, y ambos pueden ahorrar mucho tiempo.
fuente
~/.inputrc
y agregar esas dos líneas.~/.inputrc
las dos líneas, incluida la búsqueda de historial- *Hay un reemplazo para el incorporado Ctrl + Rllamado hstr . Permite buscar el historial de comandos que coincida con todos los tokens de búsqueda al mismo tiempo (entre otras cosas), y recorrer los resultados con las teclas de flecha:
Aquí hay un screencast de demostración .
Se puede instalar en un sistema operativo de la familia Debian como:
Y luego usar Ctrl + R(después de volver a abrir la terminal).
fuente