49eecd7684
Support `$_Z_DATA` environment variable per z's documentation
|
||
---|---|---|
.circleci | ||
.github | ||
misc | ||
plugins | ||
src | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG | ||
LICENSE | ||
Makefile | ||
nnn.1 | ||
README.md |
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! 🕶️
- 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.
Elsewhere
- Wikipedia
- ArchWiki
- FOSSMint
- gHacks Tech News
- Hacker News [1] [2]
- It's FOSS
- LinuxLinks [1] [2] [3]
- Suckless Rocks
- Ubuntu Full Circle Magazine - Issue 135
Developers
- Arun Prakash Jana (Copyright © 2016-2020)
- 0xACE
- Anna Arad
- KlzXS
- Maxim Baz
- and other contributors
nnn
is actively developed. Visit the ToDo list to contribute or see the features in progress.