内联图片预览依赖终端支持,Alacritty 不支持,其他终端需设置 ELIO_IMAGE_PREVIEWS=1 启用;PDF、媒体缩略图、SVG、更多压缩格式等丰富预览需另装 poppler、ffmpeg、resvg、7-Zip 等可选工具;图标显示建议使用 Nerd Font 终端字体

elio
elio-fmMIT活跃维护用 Rust 写的终端文件管理器,开箱即用,支持模糊查找、文件预览和图片预览,在终端里就能快速浏览和管理文件。
Snappy, batteries-included terminal file manager.
终端文件管理器,三栏布局加丰富预览,让命令行里浏览文件更顺手
用 Rust 写的终端文件管理器,开箱即用,支持模糊查找、文件预览和图片预览,在终端里就能快速浏览和管理文件。
核心能力
- 三栏布局并排显示位置、文件列表和预览
- 支持网格与列表视图切换及网格缩放
- 内置重复文件查找、回收站管理和压缩包管理
- 模糊查找文件与文件夹,并可用 zoxide 跳转常用目录
- 在支持的终端内联渲染图片,并预览 PDF、Office、媒体等格式
容易踩的坑
- v1.15.0最新正式版2026-11-02 · 2026-11-02 10:09 UTC
Added
- Added native cross-platform item clipboard support through the Copy to Clipboard overlay (i → Item), allowing files and folders to be copied between elio and other desktop applications.
- Added item pasting from the system clipboard via the terminal's paste shortcut and the configurable
paste_itemaction (Ctrl+vby default). - Added clipboard text pasting to text-entry overlays via
paste_item. - Added Trash support on Windows through the system drive's Recycle Bin. ([#355])
- Added an item details overlay, opened with
iorAlt+Enterby default. - Added
[focused_entry] reversedto render focused file-browser entries with a reversed focus surface based on their effective name color. ([#328])
Changed
- Changed
Ctrl+cfrom cancel/clear selection to the configurablecopy_itemaction, which copies items to the system clipboard. - Made clear selection and cancel configurable through the
clear_selectionandcancelactions, both bound to Esc by default. - Renamed the
copy_pathkeybinding tocopy_to_clipboard;copy_pathremains accepted for existing configs. - Made Trash, Delete, and Restore popup scrollbars match the style of the rest of the scrollbars.
- Made scrollbars draggable.
Fixed
- Fixed the FileChooser portal closing when an app's remembered folder has been deleted. ([#375])
- Fixed transparent file-browser indicator colors rendering as the terminal default color;
nonenow hides the indicator while preserving the focused entry surface.
- v1.14.02026-10-19 · 2026-10-19 12:36 UTC
查看更新说明
Added
- Added support for using commands to provide destination paths for custom Go To entries. ([#315])
- Added
theme.tomloptions to color entry names globally ([palette] colored_names) or per rule (name_color). ([#327]) - Added
[focused_entry]theme options for bold, italic, and underline styles for focused entry names. ([#328]) - Added FileChooser portal support for
footclientvia manual configuration. ([#322]) - Added HEIC and HEIF image previews when ffmpeg is available. ([#338], [#351])
- Added shell integration for PowerShell.
- Added support for the
Insertkey in[keys]bindings, withinsas an alias. ([#349])
Changed
- Reworked grid view styling to align it with list view and improve focus clarity in transparent themes. Grid view now shares list view's selection, yank, and cut indicator colors; the
grid_*_bandpalette keys are no longer used. - Made grid entry names bold only when focused, matching list view.
- Changed the Save As overwrite confirmation to match the permanent-delete dialog.
- Made Kitty drag cards track terminal text size, keeping them consistent across displays and font sizes.
- Made Kitty drag card labels bold to match focused item names.
- Improved Kitty drag card icon and label spacing.
Fixed
- Fixed text input fields ignoring Caps Lock. ([#321])
- Fixed Ghostty showing configuration errors when opening the FileChooser portal. ([#324])
- Fixed the FileChooser portal failing after elio is updated or otherwise replaced while its portal service is running. ([#342])
- Fixed Save As not closing when clicking outside its popup.
- Fixed overlays not blocking drag and drop.
- Fixed UI lag in Duplicate Finder when navigating past large image previews.
- Fixed brief UI stalls while loading large PNG previews in terminals using the Kitty Graphics Protocol.
- Fixed archive extraction nesting a single root item in an extra directory. ([#352])
- v1.13.02026-10-07 · 2026-10-07 19:20 UTC
查看更新说明
Added
- Added XDG Desktop Portal FileChooser integration on Linux and FreeBSD, allowing elio to serve as the file chooser for desktop applications via
elio portal enable, with independent routing for different desktop environments or window managers. - Added a Nix flake.
- Added
Tabas a keybinding to switch between files and folders in Fuzzy Find without clearing the query. ([#296]) - Added
[preview] tab_widthto configure tab width in text and code previews (1–16 columns, default 4). ([#292]) - Added image preview support for Rio. ([#303])
- Added
[ui] folders_firstto optionally mix folders and files in the browser and directory previews. - Added
[ui] default_sortto set the initial browser sort (name, modified, or size). - Added recursive folder size calculation in the background when sorting by size.
- Added
--save-assupport for--chooser-file, adding Save As behavior through a dedicated popup. ([#273])
Changed
- Improved Sixel preview speed and color quality.
- Improved
--helpwith cleaner formatting, terminal colors, and a link to the CLI documentation.
Fixed
- Fixed Nushell integration not changing directory to symlinked folders on quit.
- Fixed Sixel previews disappearing in tmux.
- Fixed
-hand--helpfor shell integration commands. - Fixed terminal applications using elio's startup folder as their working directory instead of the current folder. ([#293])
- Fixed Git branch names truncating when space is available in the status bar.
- Fixed the Git branch indicator staying stale after external branch switches, including in subfolders and linked worktrees.
- Fixed name sorting by making it aware of the system locale, including accented characters and numeric names. ([#314])
- Added XDG Desktop Portal FileChooser integration on Linux and FreeBSD, allowing elio to serve as the file chooser for desktop applications via
- v1.12.02026-08-24 · 2026-08-24 13:29 UTC
查看更新说明
Added
- Added Duplicate Finder to find files with identical contents, regardless of name, and safely trash, delete, rename, open, or reveal them. ([#258])
- Added
arm64Linux release archives and Debian package assets, including publishing through the official apt repository. - Added a configurable
toggle_preview(V) shortcut to show or hide the preview pane. ([#251]) - Added a configurable
fullscreen_preview(P) shortcut to temporarily expand the preview pane. - Added bulk archive extraction for selected archives. ([#241])
- Added image preview support inside Zellij 0.45+ when using Kitty, Ghostty, or WezTerm. ([#85])
- Added a Nord example theme. ([#270])
- Added invoking-user-aware
sudoanddoassessions on Unix: elio retains elevated filesystem access while using the invoking user's config, Places, shell, applications, editor, zoxide, and Trash/Restore; direct-root sessions continue using root's state. - Added
--config FILEand--theme FILEto override the default configuration and theme paths. ([#274])
Changed
- Changed preview scroll defaults from
[/]toShift+arrows;H/J/K/Lremain unchanged. - Changed chooser-mode double-clicks to enter folders and choose files.
Fixed
- Fixed license icons in archive previews.
- Fixed image previews bleeding through archive creation popups in transparent themes.
- Fixed image previews disappearing after returning from actions that suspend and restore the TUI.
- Fixed pasted text being handled as normal keystrokes.
- Fixed stretched image previews in Kitty graphics environments that do not preserve placeholder aspect ratios. ([#267])
- Fixed restoring files on macOS when Trash renamed them to avoid name collisions.
- Fixed SQLite previews creating missing
-waland-shmsidecar files for WAL-mode databases. ([#278])
- v1.11.22026-07-22 · 2026-07-22 16:06 UTC
查看更新说明
Fixed
- Fixed 32-bit builds by avoiding
usizeoverflow in compact directory count formatting.
- Fixed 32-bit builds by avoiding
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Snappy, batteries-included terminal file manager.

Documentation
- Installation: https://elio-fm.github.io/install/
- Docs: https://elio-fm.github.io/docs/
Features
- Three-pane layout — Places, Files, and Preview side by side
- Grid and list views — switch with
v, zoom the grid withCtrl++/Ctrl+- - Keyboard and mouse navigation — browse comfortably either way
- Customizable places and devices — pinned folders and auto-detected drives and mounts
- Quick actions — Go-to, Open With, and copy-to-clipboard
- Trash management — trash, restore, or permanently delete files
- Duplicate Finder — find and safely manage files with identical contents
- Rich previews — text, code, documents, archives, media, and more; see Preview Coverage
- Inline images — rendered directly in supported terminals
- Archive management — extract and create common archive formats
- Fuzzy find — find folders and files quickly
- Zoxide jumps — jump to frequent directories from your zoxide history
- Kitty drag and drop — drop files into elio and drag them out in Kitty 0.47+
- Shell integration — install cd-on-exit wrappers for bash, zsh, fish, Nushell, and PowerShell 7.4+
- File chooser — use elio as the file chooser on Linux and FreeBSD
- Theming — full palette and file-class control via
theme.toml
Installation
Arch Linux
Install from the AUR with your preferred AUR helper:
paru -S elio
Fedora
Enable the COPR repository and install with dnf:
sudo dnf copr enable miguelregueiro/elio
sudo dnf install elio
Debian and Ubuntu-based Linux
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 the .deb package from the latest release.
The apt repository currently publishes amd64 and arm64 packages.
Homebrew
Install from Homebrew:
brew install elio
FreeBSD
Install the FreeBSD package:
pkg install elio
Nix
Run from main with Nix flakes:
nix run github:elio-fm/elio/main
Or install from main in your Nix profile:
nix profile add github:elio-fm/elio/main
Cargo
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.
Image Preview Compatibility
| Terminal | Protocol | Status |
|---|---|---|
| Kitty | Kitty Graphics Protocol | ✓ Auto-detected |
| Ghostty | Kitty Graphics Protocol | ✓ Auto-detected |
| Rio | Kitty Graphics Protocol | ✓ Auto-detected |
| Warp | Kitty direct-placement protocol | ✓ Auto-detected |
| Konsole | Kitty direct-placement protocol | ✓ Auto-detected |
| WezTerm | iTerm2 Inline Protocol | ✓ Auto-detected |
| iTerm2 | iTerm2 Inline 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 |
Preview Coverage
elio previews many file types:
- Text, source code, Markdown, logs, and structured data such as JSON, YAML, TOML, CSV/TSV, and SQLite
- Documents such as PDFs, ebooks, Office files, OpenDocument files, and Apple Pages
- Images, audio, and video metadata, with inline images, covers, and thumbnails when supported
- Folders, archives, comic archives, torrents, ISO images, and other container-style files
- Fonts, binary files, and other metadata-focused previews
See the preview docs: https://elio-fm.github.io/docs/previews/
Optional Preview Tools
elio works out of the box. Optional tools unlock richer previews:
popplerfor PDFsffmpeg/ffprobefor media metadata and thumbnailsresvgfor SVG previews- 7-Zip for more archive types, comic archives, and RAR support
See the optional tools docs: https://elio-fm.github.io/docs/optional-tools/
Using elio over SSH
elio works over SSH. For the best experience, use a supported terminal and install optional tools on the remote host.
Opening files with terminal apps works normally inside SSH sessions. Desktop apps may open files on the remote host or do nothing useful.
Shell Integration
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/
File Chooser
You can make elio your file chooser on Linux and FreeBSD:
elio portal enable
This sets elio as the file chooser for your current desktop environment or window manager. Use elio portal disable to restore the previous file chooser, or elio portal status to check the current configuration.
See the file chooser docs for setup details and supported behavior: https://elio-fm.github.io/docs/file-chooser/
Configuration
elio reads configuration from:
| Platform | Config file |
|---|---|
| Linux / BSD | ~/.config/elio/config.toml or $XDG_CONFIG_HOME/elio/config.toml |
| macOS | ~/.config/elio/config.toml or ~/Library/Application Support/elio/config.toml |
| Windows | %APPDATA%\elio\config.toml |
Use elio --config FILE to load configuration from a custom path instead of the default location.
See examples/config.toml for an annotated example, or the configuration docs:
https://elio-fm.github.io/docs/configuration/
Theming
Themes override elio’s defaults, so you only need to set what you want to change.
| Platform | Theme file |
|---|---|
| Linux / BSD | ~/.config/elio/theme.toml or $XDG_CONFIG_HOME/elio/theme.toml |
| macOS | ~/.config/elio/theme.toml or ~/Library/Application Support/elio/theme.toml |
| Windows | %APPDATA%\elio\theme.toml |
Use elio --theme FILE to load a theme from a custom path instead of the default location.
A few example themes:
| Catppuccin Mocha | Transparent |
|---|---|
| Amber Dusk | Blush Light |
|---|---|
See assets/themes/default/theme.toml for the full default theme and examples/themes/ for all bundled themes.
Theme docs: https://elio-fm.github.io/docs/themes/
Keys marked with * are configurable in [keys] in config.toml. Configurable actions accept one key, a list, or an empty list to unbind the action. See the configuration docs for full key syntax:
https://elio-fm.github.io/docs/configuration/
Navigation
| 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 |
Ctrl+T / Ctrl+W * | New / close tab |
Ctrl+Tab / Ctrl+Shift+Tab * | Next / previous tab |
Ctrl+1–Ctrl+9 / Ctrl+0 * | Switch to tab 1–9 / 10 |
Search
| Key | Action |
|---|---|
f * | Fuzzy-find folders in the current tree |
Ctrl+F * | Fuzzy-find files in the current tree |
Tab (in Fuzzy Find) | Switch files/folders without clearing your query |
Alt+D * | Find duplicate files by content |
z * | Jump with zoxide directory history |
File Actions
| 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 / Shift+F2 * | Rename in editor |
r * (in Trash) | Restore from trash |
View
| Key | Action |
|---|---|
v * | Toggle grid / list view |
Ctrl++ / Ctrl+- | Grid zoom in / out |
. * | Show / hide dotfiles |
s * | Cycle sort (Name → Modified → Size) |
i / Alt+Enter * | Show item details |
Preview
| Key | Action |
|---|---|
Shift+K / Shift+↑ * | Step page (PDF, comic, EPUB) or scroll preview up |
Shift+J / Shift+↓ * | Step page (PDF, comic, EPUB) or scroll preview down |
Shift+H / Shift+← * | Scroll preview left |
Shift+L / Shift+→ * | Scroll preview right |
V * | Show / hide preview pane |
P * | Fullscreen preview |
Selection and Clipboard
| Key | Action |
|---|---|
Space * | Toggle selection |
Ctrl+A * | Select all |
Esc * | Clear selection |
y * | Yank (copy) |
x * | Cut |
p * | Paste |
c * | Open the Copy to clipboard menu |
Ctrl+C * | Copy items to the system clipboard |
Ctrl+v * | Paste items from the system clipboard |
- * | Create absolute symlink from yanked items |
_ * | Create relative symlink from yanked items |
Mouse
| Action | Description |
|---|---|
| Click | Select item |
| Double-click | Open item |
| Scroll | Scroll browser or preview |
Shift+Scroll | Scroll preview sideways |
General
| Key | Action |
|---|---|
? | Open help overlay |
Esc * | Cancel current task / close overlay |
q * | Quit |
Q * | Quit without changing the shell directory |