Introduction
Superfile is a terminal-based file manager that combines the speed of keyboard-driven navigation with a modern, visually polished interface. It supports multi-panel layouts, file previews, and customizable themes — bringing a contemporary UX to command-line file management.
What Superfile Does
- Provides multi-panel file browsing with side-by-side directory views for easy file operations
- Renders file previews including syntax-highlighted code, images (in supported terminals), and metadata
- Supports bulk file operations: copy, move, rename, delete with visual progress indicators
- Integrates with system clipboard and supports drag-based selection in the terminal
- Offers a plugin system for extending functionality with custom commands
Architecture Overview
Superfile is written in Go using the Bubble Tea TUI framework for its reactive terminal interface. The rendering pipeline uses Lip Gloss for styling, producing a consistent visual appearance across terminals. File operations run asynchronously to keep the UI responsive during large transfers. Configuration and themes are stored as TOML files.
Self-Hosting & Configuration
- Configuration file at
~/.config/superfile/config.tomlcontrols keybindings, themes, and panel layout - Custom themes defined via TOML let you match your terminal color scheme
- Plugin directory allows adding shell-based extensions accessible from the file manager
- Hotkey configuration supports vim-style, emacs-style, or custom key mappings
- File preview integrations can be configured to use external tools like bat or chafa
Key Features
- Beautiful terminal UI with borders, icons (Nerd Font), and smooth transitions
- Multi-panel layout lets you view and operate across directories simultaneously
- Built-in file preview for text, code (syntax highlighted), images, and archives
- Fast navigation with fuzzy search, bookmarks, and quick directory jumping
- Lightweight and fast startup compared to feature-heavy alternatives
Comparison with Similar Tools
- ranger — Python-based, slower startup; Superfile offers a more polished visual experience with Go performance
- Yazi — Rust-based and blazing fast; Superfile prioritizes visual design and ease of use
- nnn — extremely minimal and fast but bare-bones UI; Superfile adds panels and previews
- lf — Go-based and configurable but text-heavy interface; Superfile provides richer visuals out of the box
FAQ
Q: Does Superfile require Nerd Fonts? A: Nerd Fonts are recommended for file type icons, but the manager works without them using fallback characters.
Q: Can I use vim-style keybindings? A: Yes. The default keybindings are vim-inspired (hjkl navigation), and you can fully customize them in the config.
Q: Does it support image preview in the terminal? A: Yes, in terminals that support image protocols (Kitty, iTerm2, WezTerm). It falls back to text-based preview elsewhere.
Q: How does performance compare to ranger? A: Superfile starts and navigates noticeably faster than ranger since it is compiled Go rather than interpreted Python.