¿Existe una funcionalidad de "búsqueda incremental inversa" en Fish similar a CTRL + R de Bash?

36

Estoy realmente impresionado con la funcionalidad de autocompletado de Fish . Sin embargo, hay una característica en Bash que no puedo encontrar en Fish. Cuando presiona Ctrl+ Ren Bash y comienza a escribir un término, se realiza una búsqueda .bash_historypara encontrar coincidencias en orden inverso.

¿Existe una funcionalidad similar en Fish?

usuario784637
fuente
Lo que hay que tener en cuenta sobre la función de flecha arriba / abajo del pez es que es mucho menos potente que la búsqueda inversa de bash. Esto se vuelve obvio cuando puede recordar su argumento, o una opción, pero no desde la primera parte de su comando. La búsqueda inversa hace una búsqueda difusa en línea, el pez solo comprueba el comienzo idéntico de la oración.
Kasper HJ
66
@KasperHJ, creo que tu comentario puede estar desactualizado. Escribí stay apreté, y lo encontré git stash list. Acabo de comenzar a usar Fish recientemente, así que no sé si esta es una característica agregada recientemente o algo que ha estado en Fish durante mucho tiempo.
Elias Zamaria

Respuestas:

46

Nunca me he usado a fishmí mismo, pero una búsqueda rápida en Google trajo esta página que dice que

Potente mecanismo de historia

Los shells modernos guardan los comandos anteriores en un historial de comandos. Puede ver comandos anteriores utilizando las flechas hacia arriba y hacia abajo. Fish amplía este concepto integrando la funcionalidad de búsqueda de historial. Para buscar en el historial, simplemente escriba la cadena de búsqueda y presione la flecha hacia arriba. Al usar la flecha hacia arriba y hacia abajo, puede buscar coincidencias más antiguas y más nuevas. El historial de peces elimina automáticamente las coincidencias duplicadas y se resalta la subcadena correspondiente. Estas características hacen que la búsqueda y reutilización de comandos anteriores sea mucho más rápida.

¿Es esto lo que estás buscando? Parece bastante similar a bash.

terdon
fuente
7

fish no implementa la búsqueda de historial incremental, aunque parece aparecer de vez en cuando. La documentación anterior a la versión 2.0 tiene una sección 1 sobre "Faltan características y errores" que enumera la búsqueda de historial incremental bastante abajo en la lista de "Posibles características". La lista de correo de usuarios de peces incluye este mensaje de Axel Liljencratz, con fecha del 21 de agosto de 2006, en el que dice que la búsqueda incremental sería una buena característica.

Si está acostumbrado a la búsqueda incremental de estilo bash, la búsqueda del historial de peces requiere un poco de tiempo para acostumbrarse. Primero debe escribir el término de búsqueda, y mueve las entradas coincidentes hacia arriba y hacia abajo con las flechas hacia arriba y hacia abajo. Pero supongo que te acostumbras.

rici
fuente
1

Mucho mejor Ctrl + r búsquedas inversas con FZF y fzf fish plugin , utilizando el administrador de paquetes de pescado Triton , configurado para usar The Silver Searcher .

~ / .config / fish / config.fish:

triton jethrokuan/fzf
set -U FZF_COMPLETE 2
set -U FZF_FIND_FILE_COMMAND "ag -l --hidden --ignore .git"
set -U FZF_DEFAULT_OPTS "--height 40% --layout=reverse --border"

En Mac OS, para instalar los requisitos previos:

brew install the_silver_searcher
brew install fzf
Duque
fuente
0

Usar flechas hacia arriba y hacia abajo no es una buena alternativa Ctrl+R, porque si la frase que estás buscando es realmente profunda en la historia, ¡tendrás que presionar mucho las teclas arriba / abajo! Yo solo usohistory | grep -i [phrase]

Jose Miguel Ochoa
fuente