nnn — n³ The Fastest Terminal File Manager Ever Written
nnn is a full-featured, ultra-fast, zero-config terminal file manager written in C, with a plugin ecosystem, type-to-nav, mounting, disk usage analysis, and batch renaming.
Review-first install path
This asset needs a review step. The copied prompt tells the agent to dry-run, show the writes, then proceed only after confirmation.
npx -y tokrepo@latest install 43de3496-38c4-11f1-9bc6-00163e2b0d79 --target codexDry-run first, confirm the writes, then run this command.
What it is
nnn (n-cubed) is a full-featured, ultra-fast terminal file manager written in C. It starts instantly, uses minimal memory, and provides features like type-to-navigate, a plugin ecosystem, disk usage analysis, batch renaming, and filesystem mounting.
nnn targets power users, sysadmins, and developers who spend significant time navigating filesystems in the terminal. It replaces both basic ls/cd workflows and heavier file managers like ranger or mc with a lighter, faster alternative.
The project is actively maintained and suitable for both individual developers and teams looking to integrate it into their existing toolchain. Documentation and community support are available for onboarding.
How it saves time or tokens
nnn launches in under 10 milliseconds and handles directories with thousands of files without lag. Type-to-navigate lets you jump to files by typing the first few characters instead of scrolling. Batch rename operations that would require multi-line shell scripts happen in a single keystroke. Plugins extend functionality without bloating the core binary.
How to use
- Install via your package manager (
brew install nnn,apt install nnn, or build from source). - Launch with
nnnin any directory. Navigate with arrow keys or vim-style hjkl. - Type characters to filter files by name (type-to-nav). Press Enter to open or descend into directories.
- Use
;to invoke plugins for operations like preview, archive extraction, or batch rename.
Example
# Install nnn with plugin support
brew install nnn
# Launch with hidden files shown and detail mode
nnn -dH
# Set up plugins (one-time)
curl -Ls https://raw.githubusercontent.com/jarun/nnn/master/plugins/getplugs | sh
# Use environment variables for customization
export NNN_PLUG='p:preview-tui;f:fzfcd;d:diffs'
export NNN_FCOLORS='0000E6310000000000000000'
nnn
Related on TokRepo
- AI Tools for Coding — Terminal tools and coding assistants that complement nnn.
- Featured Workflows — Browse curated CLI tools and developer productivity workflows.
Common pitfalls
- Not installing plugins. Vanilla nnn is deliberately minimal. Most users want the preview, fzf integration, and archive plugins for a complete experience.
- Expecting GUI-like file previews without a terminal image protocol. Preview plugins work best in terminals that support sixel or kitty image protocol.
- Ignoring the NNN_PLUG environment variable. This is how you bind plugins to hotkeys. Without it, you have to type plugin names manually each time.
- Not reading the changelog before upgrading. Breaking changes between versions can cause unexpected failures in production. Pin your version and review release notes.
Frequently Asked Questions
nnn is significantly faster because it is written in C and loads no Python runtime. ranger offers a more feature-rich default experience with multi-column layout and image previews. nnn achieves similar functionality through plugins while keeping the core binary under 100KB.
Yes, through the preview-tui plugin. It shows text file contents, syntax-highlighted code, image thumbnails (in supported terminals), and archive contents in a side pane.
Yes. Select files, press 'r' for batch rename, and nnn opens your editor with the file list. Edit names in the editor, save, and nnn renames all files to match your edits.
Yes. nnn is a pure terminal application with no GUI dependencies. It works in any terminal session including SSH, tmux, and screen.
nnn requires only a C compiler to build and runs on Linux, macOS, BSD, and Windows (via WSL or Cygwin). Memory usage is typically under 5MB regardless of directory size. There are no runtime dependencies beyond libc.
Citations (3)
- nnn GitHub— Ultra-fast terminal file manager written in C
- nnn Plugins— Plugin ecosystem for extensibility
- nnn Wiki— Type-to-navigate and batch rename features
Related on TokRepo
Discussion
Related Assets
Alacritty — Cross-Platform GPU-Accelerated Terminal Emulator
Alacritty is a cross-platform, GPU-accelerated terminal emulator written in Rust. Focuses on simplicity and performance — no tabs, no splits, just the fastest terminal rendering on the planet. Configuration via TOML file, works on macOS, Linux, Windows, and BSD.
Fiber — Express-Inspired Web Framework Written in Go
Fiber is an Express-inspired web framework written in Go, built on top of Fasthttp — the fastest HTTP engine for Go. Familiar Express-like API, zero memory allocation routing, built-in middleware, and WebSocket support.
Hugo — The Fastest Framework for Building Websites
Hugo is the fastest static site generator in the world, written in Go. Builds thousands of pages in milliseconds with Go templates, Markdown content, shortcodes, and a powerful taxonomy system. Used by 1Password, Kubernetes, Let's Encrypt docs, and many more.
KeeWeb — Free Cross-Platform Password Manager Compatible with KeePass
KeeWeb is a free, open-source password manager that runs in the browser or as a desktop app. It is fully compatible with KeePass kdbx database files and requires no server, storing your encrypted vault locally or syncing via Dropbox, Google Drive, or WebDAV.