n³ - supercharge your productivity!
type-to-nav & du (click to see demo video)
Introduction
nnn
(or n³
) is a full-featured terminal file manager. It’s tiny and nearly 0-config with an incredible performance.
nnn
is also a du analyzer, an app launcher, a batch renamer and a file picker. The plugin repository has tons of plugins and documentation to extend the capabilities further. You can plug new functionality and play with a hotkey. There’s an independent (neo)vim plugin.
It runs smoothly on the Pi, Termux (Android), Linux, macOS, BSD, Haiku, Cygwin, WSL, across DEs and GUI utilities or a strictly CLI environment.
Black magic! :dark_sunglasses:
- Load, sort, filter thousands of files instantly
- Type to navigate with automatic dir selection
- Select files from anywhere (not just a single dir)
- Edit and preview markdown, man page, html
- Open a file and auto-advance to the next
- Export (filtered) list of visible files
- Find files by mime-type and list in
nnn
- Unlimited bookmarks, plugins, commands with custom hotkeys
- Write a plugin in any language you know
- Configure the middle mouse click to do anything
- Fuzzy search subtree and open the dir of a file
- Load four dirs with custom settings at once
- Notifications on cp, mv, rm completion
- Auto-sync selection to system clipboard
- Open text files detached in another pane/tab/window
- Create files/dirs/duplicates with parents (like
mkdir -p
)
- Toggle hidden with ., visit HOME with ~, last dir with -
- Pin a frequently visited dir at runtime
- Mount any cloud storage service in a few keypresses
- Mount and modify archives
- Filter filtered entries
- Sort files by access time and inode change time
- Access selection from another instance of
nnn
- Compile out features you don’t need
- Watch matrix text fly or read fortune messages
- Configure in 5 minutes!
Features
- Resource sensitive
- Typically needs less than 3.5MB resident memory
- Works with 8-bit colors
- Disk-IO sensitive (few disk reads and writes)
- No FPU usage (all integer maths, even for file size)
- Minimizes screen refresh with fast line redraws
- Tiny binary (typically less than 100KB)
- Portable
- Statically-linked binary available
- Language-agnostic plugins
- Minimal library deps, easy to compile
- Compile in/out features with make variables
- No config file, minimal config with sensible defaults
- Widely available on many packagers
- Unicode support
- Quality
- Privacy-aware (no unconfirmed user data collection)
- POSIX-compliant, follows Linux kernel coding style
- Highly optimized, static analysis integrated code
- Modes
- Light (default), detail
- Disk usage analyzer (block/apparent)
- File picker, (neo)vim plugin
- Navigation
- Type-to-nav mode with dir auto-select
- Contexts (aka tabs/workspaces) with custom colors
- Sessions, bookmarks with hotkeys; pin and visit a dir
- Remote mounts (needs sshfs, rclone)
- Familiar shortcuts (arrows, ~, -, @), quick reference
- CD on quit (easy shell integration)
- Auto-advance on opening files
- Search
- Instant filtering with search-as-you-type
- Regex (POSIX/PCRE) and string (default) filters
- Subtree search plugin to open or edit files
- Sort
- Ordered pure numeric names by default (visit /proc)
- Case-insensitive version (aka natural) sort
- By file name, access/change/mod (default) time, size, extension
- Reverse sort
- Mimes
- Open with desktop opener or specify a custom app
- Create, list, extract, mount (FUSE based) archives
- Option to open all text files in EDITOR
- Information
- Detailed file information
- Media information plugin
- Convenience
- Run plugins and custom commands with hotkeys
- FreeDesktop compliant trash (needs trash-cli)
- Cross-dir file/all/range selection
- Batch renamer for selection or dir
- Display a list of files from stdin
- Copy (as), move (as), delete, archive, link selection
- Dir updates, notification on cp, mv, rm completion
- Copy file paths to system clipboard on select
- Create (with parents), rename, duplicate (anywhere) files and dirs
- Launch GUI apps, run commands, spawn a shell, toggle executable
- Hovered file set as
$nnn
at prompt and spawned shell
- Lock terminal after configurable idle timeout
Quickstart
- Install
nnn
.
- Configure cd on quit.
- Use option
-e
in your alias to open text files in $VISUAL
/$EDITOR
/ vi. Open detached if you wish.
- Install plugins.
- Use option
-x
to copy selected file paths to system clipboard and show notis on cp, mv, rm completion.
- For a CLI-only environment, customize and use plugin
nuke
with option -c
(overrides -e
).
Don’t memorize! Arrows (or h j k l), /, q suffice. Tab creates, cycles contexts. ? lists shortcuts.
Read the fine manual.
Elsewhere
Developers
nnn
is actively developed. Visit the ToDo list to contribute or see the features in progress.