
Broot: The Ultimate Tree-Based File Navigator for Terminal Power Users
🚀 What is broot?
broot is a rust‑powered, interactive command-line tool that presents directory trees and enables fast navigation, search, and file manipulation—all with minimal keystrokes . It's designed as a next-gen alternative to tree, ls, and fuzzy-finder combos like fzf.
Key Features:
- Interactive fuzzy search to jump into deep directories even if you don’t remember the full path .
- Tree-view hierarchy that stays visible as you type a query, keeping your bearings in large folders.
- Builtin verbs (:mv, :cp, :rm, :mkdir, etc.) to act directly on selected files without leaving the interface.
- Panel support, like ncdu or Norton‑style split panes, for comparisons or transfers between directories .
- Git integration: toggle .gitignore visibility, display statuses, branches, and more via :gf, :gs, or flags .
🔍 Efficient navigation & cleanup
1. Fuzzy & regex search
Typing within broot filters results instantly. Prepend / for regex, or c/ or cr/ for content searches .
2. Directory overview & size insights
Launch with flags like -sdp to show size, date, permissions, or use -w (whale-spotting) to highlight largest items .
3. Safe file ops
Execute file operations directly in the tree. Preview with Ctrl →, or open files with Enter (stay in broot) or Alt + Enter (cd out)
🎨 Customizable & cross-platform
- Configurable colors, keybindings, and custom verbs via ~/.config/broot/ (in TOML/HJSON)
- Supports Linux, macOS, and Windows (though performance is smoother on Unix-like systems) .
⚙️ Setup & installation
📥 Installation options:
1# Ubuntu
2sudo apt install build-essential libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev -y
3
4# RedHat, Fedora, CentOS
5sudo dnf install libxcb -y
6
7# openSuze
8sudo zypper --non-interactive install xorg-x11-util-devel libxcb-composite0 libxcb-render0 libxcb-shape0 libxcb-xfixes0
9
10# Arch Linux
11sudo pacman -Syu --noconfirm libxcb
12
13# Broot installation
14cargo install --locked broot
15
16# or, for clipboard support:
17cargo install --locked --features clipboard broot
18
🧩 Shell integration:
On first launch, broot prompts to install the br shell function. That enables Alt + Enter to cd from broot directly into your shell .
💬 What users say
From Hacker News: broot offers "a clearer mix of tree, cd, and fuzzy searches" with two-pane support .
On Reddit, users praise regex search and integration with editors like Kakoune:
“Fellow console junkies, this is a fun product”.
“You can search in files with regexes: use cr/ (content regex)” .
🧭 Why choose broot?
- Speed: real-time filtering in large trees.
- Efficiency: fewer keystrokes vs toggling between CLI tools.
- Versatility: file ops, previews, disk cleanup, git overlay—all integrated.
- Customization: tune appearance, verbs, and shell behavior.
🔗 Getting started
Install with your preferred package manager or cargo.
Run broot or br in terminal.
Hit ? after a space to open interactive key/verb help.
Try fuzzy search, size sorting, git view, and panel navigation.
⌨️ Tips for power users
- Use -w or flags -sdp for size, date, permission defaults.
- Toggle views: Alt + h (hidden files), Alt + i (gitignored).
- Panels: Ctrl → to spawn side tree. Use commands like :copy_to_panel.
- Integrate with your editor: type :e or map Enter via config.
- Content search: cr/regex_pattern searches file contents.
📝 Final thoughts
If you're annoyed by juggling ls, cd, tree, grep, and editor-to-shell workflows, broot integrates them into a single, fast, customizable CLI experience. Its combination of fuzzy navigation, visual directory awareness, direct operations, and git-aware features make it a standout among terminal file managers.
Let me know if you’d like a configuration walkthrough or shell integration guide!