fyle icon fyle.
fyle icon Dependency-free Python 3.8+ curses app

A rich terminal file manager for Linux.

fyle is a single-file Python 3-pane (parent / current / preview) file manager that runs entirely in your terminal built on standard library curses.

git clone https://gitlab.com/JimmyPla6z/fyle
View UI Layout
fyle — ~/Projects/fyle
tab 1 utf-8
~/Projects
..
dotfiles
fyle
›
omarchy
scripts
docs
4 items
fyle
48.2 KB
fyle.png
12.4 KB
fyle-512.png
34.1 KB
install.sh
1.8 KB
README.md
3.4 KB
LICENSE
1.1 KB
# fyle
A rich, dependency-free terminal file manager for Linux.
fyle is a single-file Python 3-pane file manager built on curses...
## Features
• Three-pane layout
• Instant file previews
• Freedesktop Trash support
• Vim-style keybindings
• CLI integrations (fzf, zoxide)
NORMAL ~/Projects/fyle/README.md | -rw-r--r-- jimmy 3.4KB
? help / filter q quit

Everything you need in a file manager

Designed for maximum terminal efficiency without external bloat.

3-Pane Layout

Simultaneously view your parent directory, current contents, and file previews. Enhanced with Nerd Fonts and color-coded file types.

Rich File Previews

Instant previews for directories, text files, archive contents (zip/tar via bsdtar), PDF text (pdftotext), and binary file info.

Real Trash Support

Moves items directly to Freedesktop Trash (~/.local/share/Trash). Browse, restore with u, or empty.

Integrations & Shell

Fuzzy finding with fzf, quick jump with zoxide, clipboard copying via wl-copy / xclip, and shell spawning.

Vim Navigation

Navigate effortlessly with standard vim-style keys (j, k, h, l), multi-selection, tabs, and custom bookmarks.

CD on Quit

With the optional fy shell wrapper, quitting with Q automatically changes your shell's working directory.

Installation

Per-user installer requiring no root privileges.

1. Clone & Run Installer
git clone https://gitlab.com/JimmyPla6z/fyle fyle
cd fyle
chmod +x install.sh
./install.sh

What the installer does automatically:

  • Copies fyle to ~/.local/bin/ and makes it executable.
  • Configures ~/.bashrc / ~/.zshrc / fish conf.d with PATH and fy wrapper.
  • Installs launcher desktop entry (fyle.desktop) and app icons.

Installer Options

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

Key Reference

Vim-inspired bindings designed for speed. Press ? inside fyle for full help.

Keybinding Action
j k / arrowsMove cursor down / up
h / ← / BackspaceNavigate to parent directory
l / → / EnterEnter directory / open file
gg / GJump to top / bottom
Ctrl-d / Ctrl-u / PgDn / PgUpScroll half page / full page
~ / -Go to Home / previous directory
gh gr ge gc gxQuick jump: Home, /, /etc, ~/.config, Trash
b / BBookmarks menu / bookmark current directory
fFuzzy find with fzf and jump to result
SpaceToggle selection and move down
v / VSelect all / invert selection
y / x / pCopy / cut / paste
d / DMove to Trash / delete permanently
uRestore from Trash (when in Trash)
r / RRename file / bulk rename in $EDITOR
a / ACreate new file / new directory
YCopy path(s) to system clipboard
iShow item properties & directory size
. / I / PToggle hidden files / icons / preview pane
/Live filter (substring or glob pattern)
t / w / Tab / Shift-TabNew tab / close tab / switch tabs
:Command line (cd, mkdir, chmod, z, empty-trash, etc.)
q / QQuit / Quit and change directory (via fy wrapper)

Files & Configuration Locations

~/.local/bin/fyle Executable binary
~/.config/fyle/settings.json View & state settings
~/.config/fyle/bookmarks.json Saved bookmarks
~/.local/share/Trash/ Freedesktop Trash directory