Lorsque vous recherchez des fichiers sur le bureau Linuz, vous pouvez souvent compter sur la fonction de recherche de votre gestionnaire de fichiers préféré. L’approche de recherche conventionnelle consiste à appliquer une recherche exacte, de sorte que seuls les fichiers ou répertoires qui correspondent parfaitement à la chaîne de recherche soient affichés.
Une recherche floue, en revanche, effectue une recherche approximative et, au lieu d’identifier les correspondances exactes, affiche les résultats correspondants à chaque frappe. le utilitaire fzf s’identifie comme un chercheur flou à usage général. Publié sous la licence MIT, l’outil multiplateforme peut être utilisé sur toutes les versions de Linux.
Installer fzf sous Linux
La dernière version, la version 0.29.0, est proposée uniquement dans les dernières versions de distributions telles que Fedora. Manjaro, openSUSE Tumbleweed, Ubuntu, Debian et Arch, tandis que la plupart des autres proposent des versions plus anciennes dans leurs référentiels.
A installer sur un système Debian / Ubuntu
1. Ouvrez un terminal.
2. Mettre à jour la liste des référentiels. Cela garantit que nous obtenons le dernier logiciel.
sudo apt update
3. Installez f2f en utilisant le gestionnaire de paquets apt.
sudo apt install f2f
Outre l’utilisation des référentiels de logiciels, il existe plusieurs autres façons d’installer fzf, notamment en utilisant le gestionnaire de packages homebrew pour Mac. Bien sûr, vous pouvez également utiliser Git pour cloner le répertoire du projet sur votre disque dur, puis installer fzf à l’aide du script d’installation. L’avantage d’utiliser Git par rapport au gestionnaire de paquets est que nous recevons la version de pointe.
A installer via Git
1. Ouvrez un terminal.
2. Clonez le référentiel.
git clone --depth 1 https://github.com/junegunn/fzf.git
3. Changez de répertoire pour le dépôt Git téléchargé.
cd fzf
4. Exécutez le script d’installation.
./install
L’outil fzf prend en charge l’auto-complétion et diverses liaisons de touches. Les scripts d’installation vous demandent si vous souhaitez les activer et vous proposent également de modifier votre fichier ~/.bashrc. Une fois activé, vous pourrez déployer les raccourcis clavier suivants pour appeler fzf :
Reliure au clavier | Une fonction | |
---|---|---|
Ctrl+r | Rechercher l’historique des commandes récentes basé sur $HISTFILE | |
Ctrl+t | Recherche récursive du nom de fichier dans le $PWD | |
Alt+c | Recherche récursive d’un nom de répertoire sous le $PWD, et cd dans le répertoire sélectionné |
Travailler avec fzf
L’outil fzf n’est qu’un outil de recherche, il n’est donc pas logique de l’invoquer par lui-même. Au lieu de cela, vous pouvez l’utiliser en conjonction avec d’autres commandes telles que cd , ou pour ouvrir des fichiers dans un éditeur de texte tel que vim ou nano.
Avant d’essayer cela, commençons par quelque chose de simple.
1. Ouvrez un terminal.
2. presse Alt+c pour activer la fonction de recherche dans le répertoire. Cette fonction ne fonctionnera que dans votre répertoire de travail actuel (PWD). Par défaut, le terminal s’ouvre à notre domicile annuaire.
3. Attendez que l’invite interactive se charge. La première fois qu’il se charge, cela peut prendre quelques instants à fzf pour mettre les données en cache.
4. Commencez à saisir le nom d’un répertoire, par exemple Vidéos. L’invite interactive commencera à afficher les répertoires qui correspondent au mot.
5. Appuyez sur Entrée pour changer de répertoire. S’il y a plusieurs entrées, utilisez les flèches haut et bas pour mettre en surbrillance, puis appuyez sur Entrée pour sélectionner.
Si rien n’est trouvé, quittez fzf en appuyant CTRL + C ou ESC.
Utilisation de l’achèvement de l’onglet fzf
Vous pouvez utiliser fzf en remplacement de la complétion de tabulation avec toutes les commandes du terminal. Pour invoquer fzf tab-completion, vous devez utiliser l’identificateur ** avec une commande. Ici, nous utilisons fzf tab-completion avec le CD (commande de changement de répertoire) pour lister tous les répertoires qui correspondent à notre recherche.
1. Ouvrez un terminal.
2. Tapez le CD commande puis appuyez sur espace, suivi de deux **. Appuyez ensuite sur la touche TAB pour déclencher la complétion de tabulation.
cd **<TAB>
3. Rechercher un répertoire. Dans notre exemple, nous avons recherché Images. Au fur et à mesure que vous tapez, fzf recherchera les répertoires correspondant au terme de recherche. Les touches fléchées peuvent être utilisées pour faire défiler une liste d’entrées.
4. Appuyez sur Entrée pour sélectionner le répertoire, puis appuyez à nouveau sur Entrée pour changer de répertoire.
Un autre exemple de complétion par tabulation consiste à l’utiliser avec la commande kill pour cibler une application / un processus spécifique, puis à le tuer.
1. Ouvrez un terminal.
2. Utilisez la complétion par tabulation avec le tuer commander.
kill -9 **
3. Rechercher une application/un processus. Inkscape fonctionnait en arrière-plan, nous avons donc choisi de rechercher cela.
4. Utilisez les touches fléchées pour sélectionner le bon processus et appuyez sur Entrée pour sélectionner.
5. Appuyez sur Entrée pour exécuter la commande kill avec le processus spécifié.
Améliorer la recherche
Par défaut, fzf démarre en mode de recherche étendue, ce qui signifie que vous pouvez taper des mots-clés séparés par des espaces pour affiner le fichier ou le répertoire que vous recherchez.
Cependant, vous pouvez également utiliser différentes techniques pour améliorer les résultats de la recherche. Ici, nous utilisons la recherche par nom de fichier pour trouver des fichiers Python.
1. Ouvrez un terminal.
2. Tapez moins puis appuyez sur CTRL + T pour ouvrir l’outil de recherche de nom de fichier de fzf. Pour afficher un fichier, nous utilisons moins car il est livré avec une pagination intégrée et des outils pour faire défiler de grandes quantités de texte.
3. Tapez l’extension de fichier, dans ce cas .py, et ajoutez un signe dollar à la fin de la ligne.
.py$
4. Utilisez les touches fléchées pour sélectionner le bon fichier et appuyez sur Entrée pour sélectionner.
5. Appuyez sur Entrée pour ouvrir le fichier à l’aide de moins. Rechercher
Tableau des autres améliorations
Jeton | Exemple | Explication |
---|---|---|
chaîne de caractères | chaîne de caractères | Recherche une chaîne |
‘ | ‘chaîne de caractères | Effectue une correspondance exacte pour les éléments qui incluent la chaîne entre guillemets |
^chaîne | ^LXF | Répertorie les éléments qui commencent par LXF en effectuant une correspondance exacte du préfixe |
.format$ | .odt$ | Répertorie les fichiers qui se terminent au format .odt en effectuant une correspondance exacte du suffixe |
!chaîne de caractères | !dhc | Répertorie les éléments qui n’incluent pas dhc en effectuant une correspondance exacte inverse |
!^chaîne | ~^LXF | Répertorier les éléments qui ne commencent pas par LXF en effectuant une correspondance exacte du préfixe inverse |
!.format$ | !.odt$ | Répertorie les fichiers qui ne se terminent pas par le format .odt en effectuant une correspondance exacte de suffixe inverse |
Ce tutoriel est apparu pour la première fois dans numéro 287 du magazine Linux Format.