
broot transforme la navigation en terminal. Écrit en Rust, broot affiche
vos répertoires dans une vue arborescente intelligente, filtre en temps réel,
prévisualise les fichiers, et s’intègre avec Git — le tout sans quitter le
terminal. Fini les ls | grep en cascade ou les find interminables : tapez
quelques lettres et broot vous montre exactement ce que vous cherchez.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Comprendre les avantages de broot vs tree/find/ls
- Installer broot sur Linux, macOS et Windows
- Naviguer efficacement dans vos répertoires
- Rechercher des fichiers avec filtres et regex
- Identifier les gros fichiers avec le mode whale-spotting
- Utiliser l’intégration Git pour suivre vos modifications
- Personnaliser broot avec des verbes et raccourcis
Pourquoi choisir broot ?
Section intitulée « Pourquoi choisir broot ? »| Tâche | Commandes classiques | broot |
|---|---|---|
| Voir l’arborescence | tree -L 3 (limité) | Vue adaptative qui tient à l’écran |
| Rechercher un fichier | find . -name "*.tsx" | Tapez tsx en temps réel |
| Trouver les gros fichiers | du -sh * | sort -h | br -w (whale-spotting) |
| Fichiers modifiés Git | git status | br --git-status |
| Naviguer + changer de dossier | cd $(find ... | fzf) | Sélectionnez et appuyez sur Entrée |
Fonctionnement de broot
Section intitulée « Fonctionnement de broot »broot fonctionne avec une fonction shell (appelée br) qui permet de :
- Changer de répertoire depuis broot (
cdintégré) - Exécuter des commandes sur les fichiers sélectionnés
- Revenir au shell avec le contexte approprié
~/.config/broot/├── conf.hjson # Configuration principale├── verbs.hjson # Commandes personnalisées└── launcher/ └── bash/ # Fonction br pour Bash └── 1
~/.local/share/broot/└── launcher/ └── bash/ └── br # Lien vers la fonctionInstallation de broot
Section intitulée « Installation de broot »-
Installer broot via Cargo
Fenêtre de terminal cargo install brootLa compilation prend environ 2 minutes. Le binaire est installé dans
~/.cargo/bin/broot. -
Installer la fonction shell br
Fenêtre de terminal broot --installCette commande :
- Crée les fichiers de configuration dans
~/.config/broot/ - Ajoute la fonction
brà votre.bashrcou.zshrc - Permet le
cddepuis broot
- Crée les fichiers de configuration dans
-
Recharger votre shell
Fenêtre de terminal source ~/.bashrc # ou source ~/.zshrc -
Vérifier l’installation
Fenêtre de terminal broot --version# broot 1.54.0
brew install brootbroot --installsource ~/.zshrcscoop install brootbroot --installmise use -g cargo:brootbroot --installsource ~/.bashrcCommandes essentielles
Section intitulée « Commandes essentielles »Une fois broot installé, vous interagissez avec lui via la commande br. Cette
commande lance une interface interactive dans votre terminal : vous voyez
immédiatement l’arborescence de fichiers et pouvez naviguer, filtrer, et agir
sur les fichiers sans quitter cette interface.
Lancer broot
Section intitulée « Lancer broot »Chaque option ajoute des informations à l’affichage. Vous pouvez les combiner selon vos besoins :
# Navigation interactive (recommandé)# Lance broot dans le répertoire courant avec l'affichage par défautbr
# Avec affichage des tailles (-s = sizes)# Utile pour repérer rapidement les fichiers/dossiers volumineuxbr -s
# Avec tailles, dates et permissions (-s -d -p combinés)# Affichage complet comme un "ls -la" mais en arborescencebr -sdp
# Mode whale-spotting (gros fichiers)# Trie par taille ET affiche les fichiers cachés/ignorésbr -w
# Afficher les fichiers cachés (-h = hidden)# Les fichiers commençant par un point (.gitignore, .env, etc.)br -h
# Intégration Git (-g = git)# Affiche le statut Git (M=modifié, A=ajouté, ?=non suivi)br -gExemple : vue avec tailles et permissions
Section intitulée « Exemple : vue avec tailles et permissions »Voici ce que vous voyez quand vous lancez br -sdp dans un projet :
$ br -sdp 21M /tmp/broot-demo 10M 2026/01/26 09:15 rw_rw_r__ bob bob ├──big-file.bin 8192 2026/01/26 09:15 rwxrwxr_x bob bob ├──config 3 2026/01/26 09:15 rw_rw_r__ bob bob │ └──settings.json 8192 2026/01/26 09:15 rwxrwxr_x bob bob ├──docs 16 2026/01/26 09:15 rw_rw_r__ bob bob │ └──guide.md 22 2026/01/26 09:15 rw_rw_r__ bob bob ├──README.md 20K 2026/01/26 09:15 rwxrwxr_x bob bob ├──src 8192 2026/01/26 09:15 rwxrwxr_x bob bob │ ├──components 19 2026/01/26 09:15 rw_rw_r__ bob bob │ │ └──Button.tsx 8192 2026/01/26 09:15 rwxrwxr_x bob bob │ └──utils 32 2026/01/26 09:15 rw_rw_r__ bob bob │ └──helpers.ts 4096 2026/01/26 09:15 rwxrwxr_x bob bob └──testsComment lire cette sortie ?
| Colonne | Exemple | Signification |
|---|---|---|
| Taille | 10M, 8192 | Taille du fichier (M=Mo, K=Ko, sinon octets) |
| Date | 2026/01/26 09:15 | Dernière modification |
| Permissions | rw_rw_r__ | Lecture/écriture pour propriétaire, groupe, autres |
| Propriétaire | bob bob | Utilisateur et groupe propriétaires |
| Nom | ├──big-file.bin | Nom du fichier avec sa position dans l’arborescence |
Navigation au clavier
Section intitulée « Navigation au clavier »Dans broot, vous naviguez entièrement au clavier. Pas besoin de la souris. Voici les raccourcis essentiels à mémoriser :
| Touche | Action | Quand l’utiliser |
|---|---|---|
↑ / ↓ | Naviguer dans la liste | Sélectionner un fichier ou dossier |
Entrée | Entrer dans le dossier / ouvrir le fichier | Explorer ou éditer |
Alt + Entrée | Entrer dans le dossier et fermer broot | Pour faire cd vers ce dossier |
Ctrl + ← | Remonter au dossier parent | Revenir en arrière dans l’arborescence |
Ctrl + → | Prévisualiser le fichier | Voir le contenu sans l’ouvrir |
Esc | Effacer le filtre / quitter | Annuler une recherche ou fermer |
? | Afficher l’aide complète | Découvrir toutes les commandes |
Recherche et filtrage
Section intitulée « Recherche et filtrage »La grande force de broot est sa recherche en temps réel. Contrairement à
find qui nécessite d’attendre la fin de la commande, broot filtre
l’affichage pendant que vous tapez. Chaque caractère réduit les résultats
instantanément.
Recherche simple (fuzzy search)
Section intitulée « Recherche simple (fuzzy search) »La recherche par défaut est une recherche floue (fuzzy) : vous n’avez pas besoin de taper le nom exact du fichier. broot trouve les correspondances même partielles.
Exemple concret :
-
Lancez broot dans votre projet
Fenêtre de terminal br -
Tapez directement “tsx” au clavier (pas besoin de commande)
-
Observez : seuls les fichiers contenant “tsx” restent visibles
Résultat :
/tmp/broot-demo └──src └──src/components └──src/components/Button.tsxLe chemin complet s’affiche pour que vous sachiez exactement où se trouve le
fichier. Vous pouvez maintenant appuyer sur Entrée pour l’ouvrir ou
Alt + Entrée pour aller dans son dossier.
Recherche avec regex
Section intitulée « Recherche avec regex »Pour des recherches plus précises, préfixez par / pour activer les
expressions régulières :
# Dans broot, tapez : /\.md$# Le / active le mode regex# \.md$ signifie "se termine par .md"Résultat :
/tmp/broot-demo ├──docs │ └──guide.md └──README.mdFiltres spéciaux
Section intitulée « Filtres spéciaux »broot propose des préfixes de filtre pour des recherches spécifiques. Ces préfixes sont plus simples que les regex pour les cas courants :
| Filtre | Description | Cas d’usage |
|---|---|---|
f/ | Fichiers uniquement | Ignorer les dossiers dans les résultats |
d/ | Dossiers uniquement | Trouver un dossier spécifique |
e/json | Extension json | Tous les fichiers .json |
c/TODO | Contenu contenant “TODO” | Trouver les TODO dans le code |
/\.test\. | Regex : fichiers de test | Fichiers *.test.js, *.test.ts |
Exemple : trouver tous les fichiers contenant “TODO”
# Dans broot, tapez :c/TODObroot va scanner le contenu de chaque fichier et n’afficher que ceux qui
contiennent le mot “TODO”. C’est comme un grep -r "TODO" . mais interactif.
Mode whale-spotting
Section intitulée « Mode whale-spotting »Votre disque est plein et vous ne savez pas pourquoi ? Le mode whale-spotting (littéralement “repérage de baleines”) vous aide à trouver les fichiers et dossiers qui occupent le plus d’espace.
Pourquoi “whale-spotting” ?
Section intitulée « Pourquoi “whale-spotting” ? »Imaginons votre disque dur comme un océan. La plupart des fichiers sont des
petits poissons (quelques Ko). Mais parfois, une baleine (un fichier de
plusieurs Go) se cache dans les profondeurs. Le mode -w fait remonter ces
baleines à la surface.
Utilisation
Section intitulée « Utilisation »br -wCette commande active trois comportements en même temps :
- Tri par taille : les plus gros fichiers en premier
- Fichiers cachés visibles : inclut
.git,node_modules, etc. - Fichiers Git-ignorés visibles : inclut ce que
.gitignoremasque
Résultat :
21M /tmp/broot-demo 11M █████ ├──.git … 10M ████▉ ├──big-file.bin 20K ├──src … 8192 ├──docs … 8192 ├──config … 4096 ├──tests 22 ├──README.md 0 ├──.env 0 └──.gitignoreComment lire les barres de progression
Section intitulée « Comment lire les barres de progression »Les barres █████ représentent la proportion d’espace occupé par rapport
au total du dossier parent :
.git(11M) occupe environ 52% des 21M totaux → barre à moitié pleinebig-file.bin(10M) occupe environ 48% → barre presque aussi longue- Les autres fichiers sont négligeables → pas de barre visible
# Tri par taille (whale-spotting simplifié)br --sort-by-size
# Tri par date de modificationbr --sort-by-date
# Tri par type (dossiers en premier)br --sort-by-type-dirs-firstExemple tri par date :
/tmp/broot-demo 2026/01/26 09:15 ├──big-file.bin 2026/01/26 09:15 ├──README.md 2026/01/26 09:15 ├──tests 2026/01/26 09:15 ├──src … 2026/01/26 09:15 ├──docs … 2026/01/26 09:15 └──config …Intégration Git
Section intitulée « Intégration Git »Si vous travaillez dans un dépôt Git (ce qui est le cas de la plupart des
projets), broot peut afficher le statut Git directement dans l’arborescence.
Plus besoin de jongler entre git status et votre explorateur de fichiers.
Afficher le statut Git
Section intitulée « Afficher le statut Git »L’option -g (pour git) ajoute une colonne de statut à gauche de chaque
fichier :
br -gRésultat :
/tmp/broot-demo ├──big-file.bin ├──config │ └──settings.json ├──docs │ └──guide.md M├──README.md # ← M = modifié ├──src │ ├──components │ │ └──Button.tsx │ └──utils │ └──helpers.ts └──testsLe M devant README.md indique que ce fichier a été modifié depuis le
dernier commit. Les fichiers sans lettre sont à jour avec le dépôt.
Filtrer par statut Git
Section intitulée « Filtrer par statut Git »Pour ne voir que les fichiers modifiés (comme un git status amélioré) :
br --git-statusRésultat :
/tmp/broot-demo M└──README.mdC’est particulièrement utile dans les gros projets pour identifier rapidement ce que vous avez changé, sans être noyé dans les centaines de fichiers non modifiés.
Codes de statut Git
Section intitulée « Codes de statut Git »Voici ce que signifie chaque lettre affichée par broot :
| Code | Signification | Ce que ça veut dire concrètement |
|---|---|---|
M | Modifié (modified) | Fichier existant que vous avez édité |
A | Ajouté (staged) | Nouveau fichier ajouté avec git add |
? | Non suivi (untracked) | Fichier pas encore dans Git |
D | Supprimé (deleted) | Fichier supprimé (mais encore dans Git) |
R | Renommé (renamed) | Fichier déplacé ou renommé |
C | Copié (copied) | Fichier copié (détecté par Git) |
Gestion des fichiers
Section intitulée « Gestion des fichiers »broot n’est pas qu’un explorateur : c’est aussi un gestionnaire de fichiers. Vous pouvez copier, déplacer, supprimer et créer des fichiers directement depuis l’interface, sans retourner au shell.
Qu’est-ce qu’un verbe ?
Section intitulée « Qu’est-ce qu’un verbe ? »Dans broot, un verbe est une action que vous déclenchez en tapant : suivi
du nom de la commande. C’est similaire aux commandes Vim (:w, :q, etc.).
Comment utiliser un verbe :
- Sélectionnez un fichier avec les flèches
- Tapez
:pour entrer en mode commande - Tapez le nom du verbe (ex:
rmpour supprimer) - Appuyez sur Entrée pour exécuter
Verbes de base
Section intitulée « Verbes de base »| Verbe | Raccourci | Action | Exemple |
|---|---|---|---|
:edit | e | Ouvrir dans l’éditeur | Éditer un fichier de config |
:copy_to_panel | :cp | Copier vers le panneau | Dupliquer un fichier |
:move_to_panel | :mv | Déplacer vers le panneau | Réorganiser un projet |
:rm | - | Supprimer | Nettoyer des fichiers inutiles |
:mkdir | md | Créer un dossier | Créer un nouveau dossier |
:create | - | Créer un fichier | Créer un fichier vide |
Exemple complet : copier un fichier
Section intitulée « Exemple complet : copier un fichier »Imaginons que vous voulez copier config.json vers un dossier backup/ :
-
Lancer broot
Fenêtre de terminal br -
Rechercher le fichier source en tapant
config.json -
Sélectionnez-le avec les flèches si nécessaire
-
Ouvrir le dossier destination dans un second panneau
Appuyez sur
Ctrl + →en ayant sélectionné le dossierbackup/. L’écran se divise en deux panneaux. -
Copier le fichier
Tapez
:cppuis Entrée. Le fichier est copié vers le panneau de droite.
Verbes Git intégrés
Section intitulée « Verbes Git intégrés »broot intègre des verbes pour les opérations Git courantes. Vous pouvez les utiliser sur le fichier actuellement sélectionné :
| Verbe | Action | Équivalent shell |
|---|---|---|
:gf | Git fetch | git fetch |
:gs | Afficher les fichiers modifiés | git status |
:gd | Git diff sur le fichier | git diff <fichier> |
:ga | Git add (stage) | git add <fichier> |
Exemple : ajouter un fichier modifié au staging
- Lancez
br -gpour voir les fichiers modifiés - Naviguez jusqu’au fichier avec le statut
M - Tapez
:gapuis Entrée - Le fichier passe de
M(modifié) àA(staged, prêt à commit)
Configuration
Section intitulée « Configuration »broot est hautement configurable. Tous les paramètres sont stockés dans des fichiers au format Hjson — une version de JSON qui accepte les commentaires et les virgules finales, plus agréable à éditer à la main.
Où sont les fichiers de configuration ?
Section intitulée « Où sont les fichiers de configuration ? »~/.config/broot/├── conf.hjson # Paramètres généraux (affichage, thème, etc.)└── verbs.hjson # Vos commandes personnaliséesConfiguration principale
Section intitulée « Configuration principale »Voici les options les plus utiles à personnaliser :
{ // Afficher les fichiers cachés par défaut ? // false = comme un ls normal (sans -a) // true = toujours voir .gitignore, .env, etc. show_hidden: false
// Format de date pour l'option -d // %Y = année, %m = mois, %d = jour, %H:%M = heure:minute date_time_format: "%Y/%m/%d %H:%M"
// Thème d'icônes (nécessite une police Nerd Font) // Options : "nerdfont", "vscode", null (pas d'icônes) icon_theme: "nerdfont"
// Désactiver les couleurs RGB si votre terminal ne les supporte pas // true_colors: false
// Couleurs personnalisées (voir documentation) skin: { // ... }}Créer un verbe personnalisé
Section intitulée « Créer un verbe personnalisé »Vous pouvez définir vos propres raccourcis pour exécuter n’importe quelle commande shell sur le fichier sélectionné. C’est l’une des fonctionnalités les plus puissantes de broot.
{ verbs: [ // Ouvrir le fichier dans VS Code avec Ctrl+E { key: "ctrl-e" // Raccourci clavier execution: "code {file}" // {file} = chemin du fichier sélectionné }
// Rechercher un texte dans le fichier avec ripgrep // Usage : sélectionnez un fichier, tapez :rg puis le texte à chercher { name: "ripgrep" // Nom affiché dans l'aide shortcut: "rg" // Raccourci de verbe (:rg) execution: "rg -i {other_panel_arg} {file}" // {other_panel_arg} = texte tapé après le verbe }
// Ouvrir le dossier parent dans le gestionnaire de fichiers { name: "open_folder" shortcut: "of" execution: "xdg-open {directory}" // Linux // execution: "open {directory}" // macOS } ]}Variables disponibles dans les verbes :
| Variable | Description |
|---|---|
{file} | Chemin complet du fichier sélectionné |
{directory} | Dossier contenant le fichier sélectionné |
{parent} | Dossier parent |
{other_panel_arg} | Texte tapé après le verbe |
Dépannage
Section intitulée « Dépannage »Codes couleurs RGB non supportés
Section intitulée « Codes couleurs RGB non supportés »Symptôme : Le terminal affiche des caractères comme
11;rgb:1818/1818/1818n au lieu des couleurs.
Cause : Votre terminal ne supporte pas les codes couleurs RGB étendus (truecolor) que broot utilise par défaut.
Solutions :
# Solution 1 : Désactiver les couleursbr --color no
# Solution 2 : Forcer un terminal basiqueTERM=dumb br
# Solution 3 : Ajouter dans conf.hjson# true_colors: falseLa commande cd ne fonctionne pas
Section intitulée « La commande cd ne fonctionne pas »Symptôme : Quand vous sélectionnez un dossier et appuyez sur Entrée, vous restez dans le même répertoire.
Cause : Vous utilisez broot au lieu de br.
Solution :
# Installer la fonction shellbroot --installsource ~/.bashrc # ou ~/.zshrc
# Toujours utiliser brbrbroot est lent sur de gros répertoires
Section intitulée « broot est lent sur de gros répertoires »Symptôme : broot met du temps à démarrer dans / ou node_modules.
Solutions :
# Limiter la profondeurbr --max-depth 3
# Ignorer certains dossiers dans conf.hjson# max_panels_count: 2Référence des options
Section intitulée « Référence des options »| Option | Court | Description |
|---|---|---|
--dates | -d | Afficher les dates de modification |
--sizes | -s | Afficher les tailles |
--permissions | -p | Afficher les permissions |
--hidden | -h | Afficher les fichiers cachés |
--show-git-info | -g | Afficher le statut Git |
--git-status | - | Filtrer par statut Git |
--only-folders | -f | Dossiers uniquement |
--whale-spotting | -w | Mode gros fichiers |
--sort-by-size | - | Trier par taille |
--sort-by-date | - | Trier par date |
--max-depth | - | Limiter la profondeur |
--color | - | Contrôle des couleurs (auto/yes/no) |
À retenir
Section intitulée « À retenir »- Utilisez
br(pasbroot) pour avoir lecdintégré - Tapez pour filtrer : la recherche est instantanée
br -wpour trouver les gros fichiers rapidementbr -gpour voir le statut Git de vos fichiers?pour l’aide, Esc pour annuler- Préfixez par
/pour les regex