Basics

When you start broot, the current directory is displayed, with most often some directories open and some lines truncated, in order to fit the available height.

The first line is called the root, and is currently selected.

From here you may navigate using the following keys:

There are also a few more shortcuts:

and you can define your own shortcuts or triggering keyboard keys.

Fuzzy Patterns

The best way to navigate is by filtering the tree.

This is done by typing a few letters.

The pattern filters the tree while you type. It's interpreted in a fuzzy way so that you don't have to type all the letters or even consecutive letters. The best match is automatically selected.

For example:

search hel

Hitting esc clears the current pattern.

Regular Expressions

If there's a / before or after the pattern, it's interpreted as a regular expression.

For example /pat+ern would match "patern.zip" or "some_patttern.rar" but not "pATTern".

If you want the regex to be case insensitive, add the i flag: /pat+ern/i.

File content searches

To display only files containing "memmap", type c/memmap:

content

(as the search is displayed in real time you'll usually stop as soon as you have the right matches)

Composite patterns

Simple patterns can be composed with the !, & and | operators.

For example, if you don't want to see files whose name ends in "rs", you may type !/rs$ (it's the negation of the /rs$ regular expression).

And if you want to see all files containing "pattern" but not the rust ones, you'll type !rs&c/pattern:

composite

More about searches

If you want to know more about the exact pattern syntax, see reference.

Total Search

When you search in broot in a very big directory on a slow disk, broot doesn't always look at all files. It stops when it found enough matches and then rates those matches.

If you think there might be a better match, hidden deeper, you may require a total search, which is a search which look at all files. This is done using the :total_search verb, which may be triggered with the Ctrl-S key combination (you may redefine it, see configuration).

As for other searches, it's interrupted as soon as you type anything.

Flags

Flags are displayed at the bottom right of the panel, showing the settings regarding hidden files and .gitignore rules.

flags

Toggles

Initially, broot doesn't show files whose name starts with a dot, or files declared as ignored by a .gitignore file. Permissions and file sizes aren't shown.

This behavior is tuned with several toggles.

name shortcut description
toggle_counts counts toggle showing deep counts of files in directories
toggle_dates dates toggle showing last modified dates (deep computed)
toggle_files files toggle showing files (or just folders)
toggle_git_file_info gf toggle display of git file information
toggle_git_ignore gi toggle use of .gitignore
toggle_hidden h toggle showing hidden files
toggle_perm perm toggle showing file permissions (Unix only)
toggle_sizes sizes toggle showing sizes
toggle_trim_root t toggle removing nodes at first level too (default)

To apply one, type a space (or :), then the start of its shortcut, then hit .

For example typing :s then enter will show file and directory sizes.

Note

The displayed size on Unix is the space the file takes on disk, that is the number of blocks multiplied by the size of a block. If a file is sparse, a little 's' is displayed next to the size.

Those toggles may also be defined with launch options and the default_flags preference.

Quitting broot

Other than executing a command leaving broot, there are several ways to quit: