46 votes

Existe-t-il une fonctionnalité de "recherche incrémentale inversée" dans Fish similaire à la fonction CTRL+R de Bash ?

Je suis vraiment impressionné par Poisson et de la fonction d'autocomplétion. Cependant, il y a une fonctionnalité dans Bash que je ne trouve pas dans Fish. Lorsque vous appuyez sur Ctrl + R dans Bash et commencez à taper un terme, une recherche est effectuée sur votre ordinateur. .bash_history pour rechercher les correspondances dans l'ordre inverse.

Existe-t-il une fonctionnalité similaire dans Fish ?

55voto

Mohsin Points 11

Je n'ai jamais utilisé fish moi-même, mais une recherche rapide sur Google a permis de trouver cette page qui stipule que

Mécanisme d'historique puissant

Les shells modernes enregistrent les commandes précédentes dans un historique. Vous pouvez visualiser les commandes précédentes en utilisant les flèches haut et bas. Fish étend ce concept en intégrant la fonctionnalité de recherche dans l'historique. Pour effectuer une recherche dans l'historique, il suffit de taper la chaîne de recherche et d'appuyer sur la flèche vers le haut. En utilisant les flèches vers le haut et vers le bas, vous pouvez rechercher des correspondances plus anciennes ou plus récentes. L'historique du poisson supprime automatiquement les doublons et la sous-chaîne correspondante est mise en évidence. Ces fonctions accélèrent considérablement la recherche et la réutilisation des commandes précédentes.

C'est ce que vous recherchez ? Il semble assez similaire à celui de bash.

9voto

rici Points 3733

Fish n'implémente pas la recherche incrémentale dans l'historique, bien que cette question semble être soulevée de temps à autre. La documentation pré-2.0 contient une section "Missing features and bugs" (fonctionnalités manquantes et bogues). 1 qui mentionne la recherche incrémentale de l'historique assez loin dans la liste des "fonctionnalités possibles". La liste de diffusion "fish-users" comprend ce message d'Axel Liljencratz, datée du 21 août 2006, dans laquelle il dit que la recherche incrémentale serait une fonctionnalité intéressante.

Si vous êtes habitué à la recherche incrémentielle de type bash, la recherche dans l'historique des poissons demande un peu de temps pour s'y habituer. Vous devez d'abord taper le terme recherché et vous déplacez vers le haut et vers le bas les entrées correspondantes à l'aide des flèches haut et bas. Mais je suppose qu'on s'y habitue.

8voto

JulienGenoud Points 181

Vous pouvez utiliser : https://github.com/junegunn/fzf

Cette bibliothèque fournit une recherche puissante pour les poissons Shell.

2voto

abc-user Points 21

Une demande de fonctionnalité a été ouverte dans le bug tracker de Fish :

https://github.com/fish-Shell/fish-Shell/issues/602

Quelqu'un a déjà mis en place une solution de contournement :

https://github.com/jbonjean/re-search

1voto

Duke Points 111

Recherche inversée Ctrl+r bien meilleure avec FZF y plugin poisson fzf à l'aide de l'outil Gestionnaire de paquets de poissons Triton configuré pour utiliser Le chercheur d'argent .

~/.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"

Sur Mac OS, pour installer les prérequis :

brew install the_silver_searcher
brew install fzf

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X