Sur notre système GNU/Linux on a la commande locate qui nous permet de chercher des fichiers sur tout le système. Emacs a une interface simple à locate: M-x locate qui demande une expression régulière puis on obtient les résultats dans un nouveau buffer.

Avec counsel-locate on peut voir les résultats dans le mini-buffer de manière interactive, appliquer des actions sur un ou des résultats, et quelques trucs en plus.

Quand on tape counsel-locate on obtient un mini-buffer de cette sorte:

On retrouve des indications explicites qui ressemblent fortement à une hydra. C'est C-o qui fait apparaître le menu hydra. On peut choisir et définir le type d'action à effectuer pour ouvrir le fichier (touches wsa, ouvrir avec emacs, avec xdg-open, avec une commande personnalisée), et d'autres. Je vous laisse découvrir et vous reporter à l'article de l'auteur:

http://oremacs.com/2015/07/02/counsel-locate/

Pour installer ça, si vous avez déjà ajouté la source de paquets MELPA, y'a plus qu'à

M-x package-install RET counsel RET

counsel est une collection de commandes Emacs qui utilisent Ivy, lequel est un système de complétion interactif (comme ido mais un peut plus complet maintenant).

Comme alternative j'utilisais aussi helm-locate qui marche très bien (fournie avec helm), avec une différence sur la regexp (on doit écrire une vraie regexp alors qu'avec counsel on peut écrire différents termes séparés par un espace, par exemple "python.*pdf" ou "python pdf") et helm-locate propose moins d'actions possibles (aucune en fait, juste d'ouvrir un fichier en gardant la session). Pour définir quel programme utiliser pour chaque extension, j'utilise openwith (sur melpa).

Et voilà, encore une chose plus sympa à faire dans Emacs que dans son shell !