Can a terminal file manager be actually pleasant to use? Tools like Midnight Commander and ranger are undeniably powerful, and much-loved by those who’ve mastered them, but for others they’re dense, dark and dated looking.
SuperFile provides an alternative to stark, utilitarian interfaces that haven’t changed much since the 1980s (not that they should have to). Midnight Commander, created by GNOME’s founder Miguel de Icaza, began as a FOSS clone of MS-DOS app Norton Commander.
Of course, this is also a terminal-based tool, but with a surprisingly intuitive text-based user interface (TUI). No utilitarian monochrome list or command palette here, but colour, icons, and an ordered layout anyone familiar with a GUI file manager can make sense of.
Of course, whether a prettier terminal file manager can make command-line file management more accessible, or whether ‘window dressing’ is pointless given their niche appeal is a question best answered from subjective experience of trying it out.
Which is what I did.
SuperFile: Fancy CLI File Manager
The most striking difference is in how SuperFile looks. The tool describes itself as a “pretty fancy and modern terminal file manager”. I think it certainly delivers on that front.
Written in Go, and available for Linux and macOS (plus partial support for Windows), SuperFile doesn’t look like something out of the 1980s. It uses colours, font styling, nerd font icons, and a structured layout for a familiar look.
To do this, SuperFile makes use of panels, to separate key areas and, indirectly, put more information on screen without seeming dense.
Just like in GUI file managers, there’s a sidebar to the left. This has links to common XDG user folders, a section for pinned folders, and an area for disks, including removable media and other partitions that are mounted.
To the right of the sidebar is the main browsing page, and a file preview area adjacent to that. At the bottom, a footer (which be hidden) with dedicated sections for process progress (transfers, ZIP extractions, etc), metadata and clipboard boxes.
If you’re moving files between folders or want to have several directories open at the same time, you’ll appreciate the ability to open multiple panels, so you can view different folders side by side, zip between ’em, and transfer files with a couple of key strokes.
SuperFile handles common file operations: copy/cut, paste, edit, open, delete and create new files/folders. You can extract compressed archives, or compress files or folders into a ZIP.
Of course, working with files requires more than simply shuffling them about. To this end, SuperFile integrates with external editors and other command-line utilities. It slots neatly into existing workflows, rather than requiring you to adapt to a new one.
That lack of fuss is also an undeniable plus.
The lack of “mental gymnastics” involved in using this, at least compared to other terminal tools, is what makes SuperFile super to use. What it may lack in power-user features or extensive customisation options compared to rivals, it makes up for in usability.
Install SuperFile on Ubuntu
Installing SuperFile on Ubuntu is straightforward-ish — it’s not packaged inside of the Ubuntu repos, and not available on the Snap Store (as a file manager, it works best with proper file system access rather than containerised in formats like snap).
The developers provide an official installation script, which will work on most Linux distributions not just Ubuntu – the curl version is below:
bash -c "$(curl -sLo- https://superfile.netlify.app/install.sh)"
Running random scripts makes you itch? You can do what the script does by hand for your own piece of mind. First download the binary build from the SuperFile GitHub releases page, then drop it into /usr/local/bin.
Once installed, run spf to launch it.
On first run, a notice will recommend having a a Nerd Font installed. This provides many of the icons used in the UI. If you don’t have a Nerd Font installed, go get one (but remember to rebuild your font cache after installing it: run fc-cache -fv).
WYSIWYP (what you see is what you press)
Despite having a TUI that looks like it could be used with a mouse, SuperFile is entirely keyboard-driven — but the visual cues that make everything easier to understand and figure out. Heck, you can probably figure out how to navigate SuperFile just by looking at it.
Arrow keys to navigate; Enter to enter directories or open files; backspace to back out a directory; and Tab to switch between panels.
A full list of hotkeys is available on the project website, but other key essentials:
- s – focus the sidebar
- n – open a new panel
- w – close the focused panel
- f – toggle the file preview panel
- shift + p – pin a directory (if you’re inside of it)
- shift + f – toggle the footer
- . – toggle hidden (aka dot) files
- / – search for file by name (in current dir)
- v – enter selection mode
- shift + a – select all (when in selection mode)
- q – exit SuperFile
File operations work largely how you’d expect.
In selection mode, select items and press ctrl + c to copy and ctrl + v to paste. For new files/folders, ctrl + n, and so on. The process box in the footer (when visible) shows active and recent operations, while clipboard lists whatever’s available for pasting.
If you’re a vim user, SuperFile offers vim-compatible keybindings that you can enable in the configuration. The tool stores its configuration in your home directory’s config folder, of you wish to customise hotkeys or change theme — Nord, Dracula, et al available!
SuperFile is not the only terminal file manager out there aiming to add modern appeal. Yazi is a “blazing fast terminal file manager written in Rust, based on async I/O”, and there are likely others in various stages of gestation.
But SuperFile’s approach feels particularly well-balanced: modern not flashy, simple not simplistic, and enough frills rather than no frills.
Worth trying?
Terminal file managers, no matter how ‘fancy’, offer little appeal to those who prefer GUI tools like Nautilus, Nemo and Dolphin. But if you often manage files from the command line, or work with headless servers, SuperFile provides a solid alternative to established tools.
Which is to say: SuperFile isn’t objectively better than other file manager since each caters to different users and workflows. But prioritising form alongside function is not redundant, since form can enhanced function.
If you spend meaningful time managing files from the command line, SuperFile is worth trying. The ‘pretty fancy’ UI helps make CLI sessions more enjoyable, and given how much time one can spend staring at terminal screens, that’s not nothing.
