fyle.
Dependency-free Python 3.8+ curses app
fyle is a single-file Python 3-pane (parent / current / preview) file manager that runs entirely in your terminal built on standard library curses.
Designed for maximum terminal efficiency without external bloat.
Simultaneously view your parent directory, current contents, and file previews. Enhanced with Nerd Fonts and color-coded file types.
Instant previews for directories, text files, archive contents (zip/tar via bsdtar), PDF text (pdftotext), and binary file info.
Moves items directly to Freedesktop Trash (~/.local/share/Trash). Browse, restore with u, or empty.
Fuzzy finding with fzf, quick jump with zoxide, clipboard copying via wl-copy / xclip, and shell spawning.
Navigate effortlessly with standard vim-style keys (j, k, h, l), multi-selection, tabs, and custom bookmarks.
With the optional fy shell wrapper, quitting with Q automatically changes your shell's working directory.
Per-user installer requiring no root privileges.
git clone https://gitlab.com/JimmyPla6z/fyle fyle cd fyle chmod +x install.sh ./install.sh
What the installer does automatically:
fyle to ~/.local/bin/ and makes it executable.~/.bashrc / ~/.zshrc / fish conf.d with PATH and fy wrapper.fyle.desktop) and app icons.| Option | Effect |
|---|---|
| --no-shell | Don't modify shell startup files |
| --no-desktop | Don't create launcher entry or desktop icons |
| --uninstall | Remove everything installed (settings & Trash left intact) |
| /path/to/fyle | Install from a specific file location |
Vim-inspired bindings designed for speed. Press ? inside fyle for full help.
| Keybinding | Action |
|---|---|
| j k / arrows | Move cursor down / up |
| h / ← / Backspace | Navigate to parent directory |
| l / → / Enter | Enter directory / open file |
| gg / G | Jump to top / bottom |
| Ctrl-d / Ctrl-u / PgDn / PgUp | Scroll half page / full page |
| ~ / - | Go to Home / previous directory |
| gh gr ge gc gx | Quick jump: Home, /, /etc, ~/.config, Trash |
| b / B | Bookmarks menu / bookmark current directory |
| f | Fuzzy find with fzf and jump to result |
| Space | Toggle selection and move down |
| v / V | Select all / invert selection |
| y / x / p | Copy / cut / paste |
| d / D | Move to Trash / delete permanently |
| u | Restore from Trash (when in Trash) |
| r / R | Rename file / bulk rename in $EDITOR |
| a / A | Create new file / new directory |
| Y | Copy path(s) to system clipboard |
| i | Show item properties & directory size |
| . / I / P | Toggle hidden files / icons / preview pane |
| / | Live filter (substring or glob pattern) |
| t / w / Tab / Shift-Tab | New tab / close tab / switch tabs |
| : | Command line (cd, mkdir, chmod, z, empty-trash, etc.) |
| q / Q | Quit / Quit and change directory (via fy wrapper) |