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:
- ↓ or ↑ : select the next or previous line
- ctrl← or ctrl→ : focus (or open) a panel to the left or to the right
- ⏎ on a file : open the file using xdg-open (or your OS equivalent)
- alt⏎ on a file : leave broot and open the file using xdg-open
- ⏎ on a directory : focus the directory (i.e. make it the new root)
- alt⏎ on a directory : leave broot and
cd
the shell to that directory. - ⏎ on the first line : goes up one level (focus the parent directory)
- esc gets you back to the previous state (or leave broot if there's none)
- ? brings you to the help screen
There are also a few more shortcuts:
- you can quit with Ctrlq
- you can select a line with a mouse click
- you can open a line with a mouse double-click
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:
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
:
(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.
Examples:
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).
If you want to see all files containing "pattern"
but not the rust ones, you'll type !rs&c/pattern
:
If you're looking for a file whose name you don't remember exactly ("rust_test" ? "test-rust" ?), you may type test&rust
meaning the name contains both "test" and "rust".
More about searches
If you want to know more about the exact pattern syntax, see reference and examples.
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 :search_again
verb, which may be triggered with the CtrlS key combination (you may redefine it, see configuration).
As for other searches, it's interrupted as soon as you type anything.
Search again
If no filtering is active, hit CtrlS to bring back the last used filtering pattern.
Quitting broot
Other than executing a command leaving broot, there are several ways to quit:
- hit ctrlQ or ctrlC
- type
:q
orspace
q
thenenter
- call any other verb whose action quits broot, for example
:print_path