elioSnappy, batteries-included terminal file manager with rich previews, inline images, bulk actions, and trash support.

v, zoom the grid with Ctrl++ / Ctrl+-theme.tomlInstall from the AUR with your preferred AUR helper:
paru -S elio
Enable the COPR repository and install with dnf:
sudo dnf copr enable miguelregueiro/elio
sudo dnf install elio
Configure the official apt repository and install with apt:
curl -fsSL https://elio-fm.github.io/elio-apt/install.sh | sudo sh
sudo apt install elio
Manual repository setup is available in elio-apt. To install without adding a repository, download elio_amd64.deb from the latest release.
The apt repository currently publishes amd64 packages.
Install from Homebrew:
brew install elio
Install from crates.io:
cargo install elio
elio starts in your current working directory by default. Pass a file or directory path to open it instead.
[!TIP] Recommended: use a Nerd Font in your terminal so icons display correctly.
Running From Source
cargo run --release
A few bundled themes are shown below. More are available in examples/themes/. See Theming for theme paths and docs.
| Catppuccin Mocha | Navi |
|---|---|

|

|
| Amber Dusk | Blush Light |
|---|---|

|

|
Inline visual previews, including images, covers, thumbnails, and rendered pages, work automatically on supported terminals.
| Terminal | Protocol | Status |
|---|---|---|
| Kitty | Kitty Graphics Protocol | ✓ Auto-detected |
| Ghostty | Kitty Graphics Protocol | ✓ Auto-detected |
| Warp | Kitty direct-placement protocol | ✓ Auto-detected |
| WezTerm | iTerm2 Inline Protocol | ✓ Auto-detected |
| iTerm2 | iTerm2 Inline Protocol | ✓ Auto-detected |
| Konsole | Kitty direct-placement protocol | ✓ Auto-detected |
| foot | Sixel | ✓ Auto-detected |
| Windows Terminal | Sixel | ✓ Auto-detected |
| Alacritty | — | Not supported |
| Other | Kitty Graphics Protocol | Set ELIO_IMAGE_PREVIEWS=1 to enable |
Sixel terminals can render large or first-time previews more slowly than Kitty Graphics or iTerm2 Inline backends.
In Konsole, inline previews are temporarily cleared while modal popups are open to avoid rendering artifacts.
Useful environment variables:
Environment Variables
| Variable | Effect |
|---|---|
ELIO_IMAGE_PREVIEWS=1 |
Force-enable on unrecognized terminals that support the Kitty Graphics Protocol |
ELIO_ZOXIDE_OPTS |
Extra options appended to the zoxide interactive picker options |
ELIO_DEBUG_PREVIEW |
Log image preview activity to elio-preview.log in the system temp directory |
ELIO_LOG_MOUSE |
Log raw mouse events to elio-mouse.log in the system temp directory |
elio previews many file types directly in the Preview pane:
Some richer previews require optional system tools such as Poppler, FFmpeg, resvg, 7-Zip, unar, or FontForge.
See the preview docs: https://elio-fm.github.io/docs/previews/
elio works out of the box, but a few external tools enable richer previews for specific file types:
poppler for PDF previewsffmpeg / ffprobe for media metadata and thumbnailsresvg for SVG previews7z / unar for archive previewsfontforge for font previewsSee the full optional tools list and package names in the docs: https://elio-fm.github.io/docs/optional-tools/
elio works well over SSH for navigation, file operations, text/code previews, and terminal-based workflows.
Rich visual previews depend on the remote host and the local terminal:
Open With run inside the SSH session.Enter, o, open, gio, xdg-open, or cmd /c start use the remote host's opener stack. From an SSH session, they may open on the remote host, fail, or do nothing useful.elio supports common file-manager actions directly from the keyboard:
Enter opens folders or selected files with the system default application.O opens files through the Open With flow when supported, including terminal apps.c copies names, paths, or directory paths using OSC52 or the platform clipboard.g opens quick jumps for common locations such as Home, Downloads, config, and Trash.d moves files to Trash; D deletes permanently; in the Trash view, d also deletes permanently and r restores.f searches folders, while Ctrl+F searches files in the current tree.z jumps through zoxide history when zoxide is installed.! opens a shell in the current folder and returns to elio when the shell exits.Platform details vary for clipboard tools, trash backends, file openers, and shell selection. See the workflow docs: https://elio-fm.github.io/docs/workflow/
elio can leave your shell in the directory you were browsing when you quit:
elio shell install
Restart your shell, then run elio normally. Press q to quit and move your shell to elio's final directory, or Q to quit without changing directories.
See the shell integration docs for uninstall steps, supported shells, and manual setup: https://elio-fm.github.io/docs/shell-integration/
elio reads configuration from:
| Platform | Config file |
|---|---|
| Linux / BSD | ~/.config/elio/config.toml or $XDG_CONFIG_HOME/elio/config.toml |
| macOS | ~/Library/Application Support/elio/config.toml |
| Windows | %APPDATA%\elio\config.toml |
See examples/config.toml for an annotated example, or the configuration docs:
https://elio-fm.github.io/docs/configuration/
elio themes are TOML files layered on top of the built-in defaults, so you only need to set the keys you want to change.
| Platform | Theme file |
|---|---|
| Linux / BSD | ~/.config/elio/theme.toml or $XDG_CONFIG_HOME/elio/theme.toml |
| macOS | ~/Library/Application Support/elio/theme.toml |
| Windows | %APPDATA%\elio\theme.toml |
See assets/themes/default/theme.toml for the full default theme and examples/themes/ for ready-made themes.
For transparent or terminal-palette setups, see examples/themes/transparent/theme.toml and examples/themes/terminal-ansi/theme.toml.
Theme docs: https://elio-fm.github.io/docs/themes/
Controls
Keys marked with * are configurable in [keys] in config.toml; the defaults are shown here. Configurable actions accept one key, a list, or an empty list to unbind the action, such as open_with = ["O", "w"] or delete_permanently = []. Named keys are supported for arrows, enter, space, tab, backtab / shift+tab, backspace, delete / del, pageup, pagedown, home, end, and F1–F12; named keys and modifiers are case-insensitive, so F2, PageUp, and Ctrl+O work. Modifier bindings such as ctrl+o, alt+o, and ctrl+enter are also supported. Setting an action replaces its full default key list.
| Key | Action |
|---|---|
k / ↑ * |
Move up |
j / ↓ * |
Move down |
h / ← / Backspace * |
Go to parent directory |
l / → * |
Enter folder |
Enter * |
Enter folder / open file or selection |
g * |
Go To menu (g top, d downloads, h home, c config folder, t trash; configurable in [goto]) |
Home * |
Jump to first item |
G / End * |
Jump to last item |
PageUp / PageDown * |
Page up / down |
Tab / Shift+Tab * |
Cycle places |
Alt+← / Alt+→ * |
Back / forward in history |
| Key | Action |
|---|---|
f * |
Fuzzy-find folders in the current tree |
Ctrl+F * |
Fuzzy-find files in the current tree |
z * |
Jump with zoxide directory history |
| Key | Action |
|---|---|
o * |
Open focused item or selection with the system default application |
O * |
Open With chooser |
! * |
Open shell in current folder |
a * |
Create file or folder |
d / Del * |
Trash; permanently delete if already in trash |
D / Shift+Del * |
Delete permanently |
r / F2 * |
Rename / bulk rename |
r * (in Trash) |
Restore from trash |
| Key | Action |
|---|---|
v * |
Toggle grid / list view |
Ctrl++ / Ctrl+- |
Grid zoom in / out |
. * |
Show / hide dotfiles |
s * |
Cycle sort (Name → Modified → Size) |
| Key | Action |
|---|---|
Shift+K / [ * |
Step page (PDF, comic, EPUB) or scroll preview up |
Shift+J / ] * |
Step page (PDF, comic, EPUB) or scroll preview down |
Shift+H / Shift+L * |
Scroll preview left / right |
| Key | Action |
|---|---|
Space * |
Toggle selection |
Ctrl+A * |
Select all |
y * |
Yank (copy) |
x * |
Cut |
p * |
Paste |
- * |
Create absolute symlink from yanked items |
_ * |
Create relative symlink from yanked items |
c * |
Copy path details to clipboard |
| Action | Description |
|---|---|
| Click | Select item |
| Double-click | Open item |
| Scroll | Scroll browser or preview |
Shift+Scroll |
Scroll preview sideways |
| Key | Action |
|---|---|
? |
Open help overlay |
Esc |
Cancel / clear selection / close overlay |
q * |
Quit |
Q * |
Quit without changing the shell directory |