Broot - La nouvelle vache sacrée des gestionnaires de fichiers en ligne de commande

Publié initialement à : Broot – La nouvelle vache sacrée des gestionnaires de fichiers en ligne de commande

Si vous pratiquez Unix ou un de ses dérivés, vous connaissez probablement la commande « tree » qui permet d’afficher le contenu d’un dossier sous la forme d’une arborescence. C’est pratique, mais ça ne permet pas de faire grand-chose. C’est là que Broot entre en jeu. Il s’agit d’un outil open source et gratuit qui permet de…

2 « J'aime »

La vache de la photo a 5 pattes et un genou flottant…

Hmmm, peut-être, mais les vieux barbus connaissent le mode Tree de MC MidnightCommander sous linux en mode terminal puis terminal graphique depuis presque … 30 ans … :grinning:

Ce mode Tree possède deux sous-modes, via [F4], le mode parcours dynamique ou statique. Tout MC se commande au moins via le clavier, et avec la souris aussi quand elle est utilisable dans le terminal. Ca fait ce que tu veux, sur les fichiers de ta sélection, etc.

MC en fait fait beaucoup plus que cela, utilise des tonnes de protocoles pour aller de serveur en serveur, c’est quasiment sans limite.

Je pense que cela fait au moins la même chose que ta Broot App, mais sinon je veux bien apprendre les différences. @Korben, quelles sont les différences?

Là c’est une copiécran rapido de MC sous Windows WSL (Ubuntu).

Voulez-vous en savoir plus?

Pour être plus clair, GNU MidnightCommander est disponible pour :

Ca c’est la copiécran de la version Windows.

http://midnight-commander.org/

La vache de la photo a 5 pattes et un genou flottant…

C’est parce que c’est pas le logo officiel de broot.
Pour des vaches bien portantes, il faut aller sur le site de broot

Ici l’auteur de broot. J’ai bien connu les ancêtres de Midnight Commander (par exemple Norton Commander). Mais ces outils là n’ont pas réellement de tree view au sens broot, c’est-à-dire qui te montrent la structure de l’arbre et pas juste d’un niveau ou de ceux que tu déroules automatiquement.

L’idée initiale de broot, c’est une descente parallèle:

Et ensuite… beaucoup d’autres fonctions configurables pour faire un peu tout.
Par exemple une recherche plein texte au fur et à mesure que tu tapes.

cf Broot

1 « J'aime »

Bonjour :wave: Denystroy,
C’est rare d’avoir l’auteur en ligne, merci pour ta réponse. :+1:

Je vois la doc de Broot, ça fait quelque peu à lire (tant mieux vive RTFM), ça donne envie de s’y plonger.

La fonction Recherche de MC présente un peu les infos à la façon Broot, qu’en dis-tu?

La différence est-elle bien que Broot dispose d’une recherche interactive, au fur et à mesure que tu tapes des caractères, cela affine les résultats de recherche affichés en mode Tree?

Oui, c’est une recherche interactive, qui te montre les résultats au fur et à mesure, avec une syntaxe de query qui permet de filtrer sur plusieurs critères, qui est optimisée pour le dev (filtrage gitignore par exemple) et qui te permet de sauter vers la ligne du match dans ton éditeur de texte favori (dans le terminal, donc). J’ai écrit un petit article pour expliquer le workflow sur mon blog (mais je n’ai pas le droit encore de spammer ce fofo de liens vers mon domaine… c’est https://dystroy.org/blog/broot-c-search/).

Bien, j’ai réussi à me faire étiqueter spammeur pour 2 réponses à un fil sur mon propre soft ^^

Je pense que tu as été victime d’un acte de vandalisme. Il faut plusieurs signalements pour catégoriser un message de spam. C’est assez triste, ce genre de comportements gratuits.

Ok, merci, je vais lire cela.
Je cherche à améliorer mes workflows, d’ailleurs.
Je comparerai avec les modules Vim de gestion de fichiers, de recherche, dans lesquels je dois m’améliorer, et creuser aussi si je bascule de Vim vers Neovim.

Merci Denys et félicitations pour ce soft novateur. :vulcan_salute:

Tu sais s’il y a moyen de débloquer ça ?

Je crois qu’il faut utiliser les fonctions du forum, tu as 24h pour utiliser une fonction sur un message bani pour demander sa libération, je crois, sinon contacter directement (DM) les modos. Essaye @moderateurs je pense, si ça marche pas, @remouk peut-être.

Ca j’avais essayé, ça n’avait pas marché. Je vais écrire aux modos. Merci

@dystroy

Pour info, il existe sous Vim ou Nvim (neovim) des extensions qui font de la gestion de fichiers+recherche interactive.

  • Sous Vim, il y a au moins FZF (Fuzzy Finder),
  • Sous Nvim, il y a Telescope et des sous-modules, et des adaptations de tout ce qu’on trouve déjà sous Vim (fzf par exemple).

Je vais plutôt investir là-dedans, parce que je veux faire Vim/Nvim mon outil de base, à mes débuts, Emacs me semblait bien, mais même si j’adore Lisp, je préfère Vim et son écosystème.

Et quand on voit des extensions comme copilot.vim qui utilise OpenAI + Github pour coder, ça semble intéressant.

Et toi, quels sont tes outils de développeur?

J’utilise Broot, bien sûr, depuis lequel j’ouvre neovim, mon éditeur. Comme je travaille chaque jour sur au moins 4 ou 5 projets différents, et chaque semaine sur une bonne douzaine de projets différents, j’ai absolument besoin d’un outil qui me permette de naviguer rapidement et d’avoir des aperçus pour m’y retrouver (j’ai une sale mémoire de poisson rouge).

Et bacon parce que je suis un développeur Rust (je ne vais pas mettre de lien, pour que ce message ne soit pas banni).

Pour la recherche dans neovim j’ai utilisé fzf, mappé sur ctrl-p, j’utilise maintenant un bricolage perso que je ne vais pas ouvrir pour l’instant. J’ai plein de plugins, certains que j’ai faits moi, d’autres assez standard.
Note que les dernières versions de vim et de neovim sont assez proches. Un avantage pour neovim en pratique est l’utilisation de Lua pour l’enrichir, c’est un peu plus facile.

Comme j’ai toujours un paquet de terminaux ouverts (en ce moment même une trentaine), j’utilise terminator qui a l’avantage sur tmux de ne pas être un immonde paquet de bugs. J’aurais pu utiliser zellij ou kitty, qui sont pas mal aussi dans leur genre, mais je préfère terminator qui est plus fiable de façon générale.

1 « J'aime »