Existe uma funcionalidade de "pesquisa incremental reversa" no Fish semelhante ao CTRL + R do Bash?

36

Estou realmente impressionado com a funcionalidade de preenchimento automático de Fish . No entanto, há um recurso no Bash que não consigo encontrar no Fish. Quando você pressiona Ctrl+ Rno Bash e começa a digitar um termo, é feita uma pesquisa .bash_historypara encontrar correspondências na ordem inversa.

Existe uma funcionalidade semelhante no Fish?

user784637
fonte
O que deve ser observado sobre o recurso de seta para cima / para baixo do peixe é que ele é muito menos poderoso que a pesquisa reversa do bash. Isso se torna óbvio quando você se lembra do seu argumento ou de uma opção, mas não da primeira parte do seu comando. A pesquisa reversa faz uma pesquisa em linha difusa, o peixe apenas verifica o início da frase idêntico.
Kasper HJ
6
@ KasperHJ, acho que seu comentário pode estar desatualizado. Eu digitei stae pressionei, e ele encontrou git stash list. Eu comecei a usar o Fish recentemente, então não sei se esse é um recurso adicionado recentemente ou algo que está no Fish há muito tempo.
Elias Zamaria

Respostas:

46

Eu nunca fishme usei, mas uma pesquisa superficial do Google trouxe esta página que afirma que

Poderoso mecanismo de história

Os shells modernos salvam comandos anteriores em um histórico de comandos. Você pode visualizar comandos anteriores usando as setas para cima e para baixo. O Fish estende esse conceito ao integrar a funcionalidade de pesquisa de histórico. Para pesquisar o histórico, basta digitar a sequência de pesquisa e pressionar a seta para cima. Usando as setas para cima e para baixo, você pode procurar correspondências mais antigas e mais recentes. O histórico de peixes remove automaticamente correspondências duplicadas e a subcadeia correspondente é destacada. Esses recursos tornam a pesquisa e a reutilização de comandos anteriores muito mais rápidas.

É isso que você está procurando? Parece bastante semelhante ao do bash.

Terdon
fonte
7

O fish não implementa a pesquisa incremental de histórico, embora pareça surgir de tempos em tempos. A documentação pré-2.0 possui uma seção "Recursos e erros ausentes" 1, que lista a pesquisa incremental do histórico bastante abaixo na lista "Recursos possíveis". A lista de discussão dos usuários de peixes inclui esta mensagem de Axel Liljencratz, de 21 de agosto de 2006, na qual ele diz que a pesquisa incremental seria um recurso interessante.

Se você está acostumado com a pesquisa incremental no estilo bash, a pesquisa no histórico de peixes demora um pouco para se acostumar. Você deve digitar o termo de pesquisa primeiro e mover as entradas correspondentes para cima e para baixo com as setas para cima e para baixo. Mas suponho que você se acostume.

rici
fonte
1

Pesquisas Ctrl + r muito melhores com o plugin FZF e fzf fish , utilizando o Triton gestor de pacotes de peixe , configurado para usar A prata 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"

No Mac OS, para instalar os pré-requisitos:

brew install the_silver_searcher
brew install fzf
Duque
fonte
0

Usar as setas para cima e para baixo não é uma boa alternativa Ctrl+R, porque se a frase que você está procurando é realmente profunda na história, você terá que pressionar muito as teclas para cima / baixo! Eu apenas usohistory | grep -i [phrase]

Jose Miguel Ochoa
fonte