USING ELIO

Workflow

Opening files, copying paths, search, Trash, zoxide, and shell here.

START HERE

Common actions

Action Key What it does
Open Enter / o / Shift+O Enter folders, open files with the platform default app, or choose an app with Open With.
Clipboard c Copy names, paths, or directory paths using OSC52 or a platform clipboard tool.
Go-to g Jump to common destinations such as Home, Downloads, config, Trash, or the top of the folder.
Trash d / Shift+D / r Trash items, permanently delete, or restore trashed files.
Fuzzy search f / Ctrl+F Search folders or files in the current tree without leaving elio.
zoxide z Jump through zoxide's directory history when zoxide is installed and has data.
Shell ! Temporarily open your shell in the current folder, then return to elio.

OPEN

Opening files

elio has two ways to open files: use the default app, or choose one.

Key Behavior
Enter Enter folders. Open files with the default app.
o Open the focused item or selection with the default app.
Shift+O Choose an app for the focused file or selection.

Platform launchers

Platform Default launcher
macOS open
Windows cmd /c start
Linux / BSD desktop sessions gio, with xdg-open as fallback

Open With shows a chooser when multiple matching apps are found. If there is only one match, elio opens it directly. If no match is found, or on platforms without app discovery, elio falls back to the default opener.

CLIPBOARD

Copy to clipboard

c opens a menu to copy names, paths, or directory paths for the focused item or selection.

Environment Clipboard method
Terminal OSC52 when supported
Wayland wl-copy
X11 xclip or xsel
macOS pbcopy
Windows clip

GO TO

Go-to menu

g opens shortcuts to common locations.

Destinations

  • Top of the current folder
  • Downloads
  • Home
  • Platform config folder
  • Trash

Config folder

Platform Path
Linux / BSD ~/.configUses $XDG_CONFIG_HOME when set.
macOS ~/Library/Application Support
Windows %APPDATA%

TRASH

Trash and restore

Trash behavior depends on the platform. Use d to move entries to Trash, Shift+D to delete selected entries permanently, and r to restore entries from the Trash view.

Platform Behavior
Linux Uses gio trash when available, then falls back to the Freedesktop Trash layout.
BSD Uses the Freedesktop Trash layout.
macOS Moves items to ~/.Trash and stores restore metadata for items trashed by elio.
Windows Moves items to the Recycle Bin. The Recycle Bin is not shown as a browsable Trash view yet.

Freedesktop filename collisions

On Freedesktop Trash systems, the stored filename may change to avoid collisions, for example photo.jpg.2. elio reads the matching .trashinfo metadata, so the file is still shown, previewed, opened, and restored as the original photo.jpg.

SEARCH

Fuzzy search

elio can search the current directory tree without leaving the browser.

f Search folders
Ctrl+F Search files
  • Follows the current hidden-file setting.
  • Includes symlinks as leaf entries, but does not descend into linked directories.
  • Skips .git, node_modules, target, and other generated folders.
  • Streams results while scanning and refreshes when the directory changes.
  • Caps very large trees so search stays responsive and shows when the scan limit is reached.

JUMPS

Zoxide

z opens an interactive zoxide picker.

Requires

  • zoxide installed and available in PATH.
  • Recorded directory history before useful results appear.

Install zoxide from Optional tools.

Behavior

  • zoxide query -iRuns the interactive picker.
  • current folderExcluded from the picker.
  • ELIO_ZOXIDE_OPTSAppends extra picker options.

SHELL

Shell here

! suspends elio and starts a shell in the current folder.

Return

  • exitReturn to elio.
  • Ctrl+DReturn on an empty prompt in most shells.

Shell used

  • $SHELLLinux, macOS, BSD, and WSL. Falls back to /bin/sh.
  • COMSPECWindows. Falls back to PowerShell, then cmd.

Environment variables

  • ELIO_SHELL=1Set inside the child shell.
  • ELIO_LEVELNesting counter for prompts and shell startup files.

Changing directories here only affects the child shell. When it exits, elio resumes in the folder where you opened it. Shell integration is separate: it lets quitting elio update the parent shell's directory on quit.