nnn
Browse files quickly
TLDR
Open the current directory (or specify one as the first argument)
Start in detailed mode
Show hidden files
Open an existing bookmark (defined in the NNN_BMS environment variable)
Sort files on [a]pparent disk usage / [d]isk usage / [e]xtension / [r]everse / [s]ize / [t]ime / [v]ersion
Open a file you have selected. Select the file then press
SYNOPSIS
nnn [OPTIONS] [PATH]
PATH is an optional initial directory to start in. If not specified, nnn starts in the current directory.
PARAMETERS
-a
Display file/directory information in the status bar.
-b key
Open a bookmark using its assigned single-character key.
-c
Copy the absolute path of the selected file to the clipboard on quit.
-C
Disable directory colorization; use default terminal colors.
-d
Disable desktop notifications and desktop file opening (always use EDITOR/PAGER/NNN_OPENER).
-e
Open selected file with the specified EDITOR (or NNN_EDITOR) on quit.
-g
Enable fuzzy search for filtering directory contents.
-H
Show hidden files (dotfiles and dotdirs).
-h
Display help message and exit.
-o
Open files and launch applications using xdg-open, rifle, or a custom opener script.
-p file
Read paths from file for the picker mode.
-R
Start nnn in read-only mode, preventing any file system modifications.
-s
Enable as-you-type search filtering within the current directory.
-S
Make the as-you-type search case-sensitive.
-v
Enable verbose output, showing more details during operation.
-V
Print version information and exit.
-x
Launch nuke on quit. nuke is a command-line interface for common file operations.
DESCRIPTION
nnn is a remarkably compact and high-performance terminal file manager designed for efficiency and speed. It offers a minimalist interface while providing a rich set of features for everyday file management tasks. Built with a focus on speed and minimal resource usage, nnn allows users to navigate directories, perform file operations (copy, move, delete), and launch applications with incredible responsiveness.
It supports various modes including bookmarking, fuzzy search, and a unique "contexts" feature to manage multiple workspaces. Its extensibility is a core strength, leveraging a powerful plugin system that allows users to add custom functionality for file preview, archive management, media playback, and more. nnn aims to be a seamless part of a command-line workflow, integrating well with shell commands and external utilities for a truly powerful terminal experience.
CAVEATS
nnn is a text-based user interface (TUI) application, meaning it operates entirely within the terminal and does not provide a graphical user interface (GUI). Its power lies in keyboard-driven efficiency, which may require some initial learning for users accustomed to mouse-centric file managers. Advanced features like file previews, archive extraction, and custom file opening rely heavily on external utilities (e.g., less, atool, xdg-open, rifle, exiftool) which must be installed and configured separately. While minimal, this dependency on external tools ensures flexibility but adds to the initial setup complexity for a fully-featured experience.
PLUGINS
nnn's functionality can be vastly extended through its rich plugin ecosystem. Plugins are simple shell scripts that reside in a specific directory (typically ${XDG_CONFIG_HOME}/nnn/plugins or ~/.config/nnn/plugins) and can be invoked from within nnn using keyboard shortcuts. These plugins enable features like custom file previews, media playback, archive handling, Git integration, and many more, allowing users to tailor nnn to their specific workflows without adding bloat to the core application.
CONTEXTS
A unique feature of nnn is its support for up to four 'contexts' or workspaces. Each context maintains its own history and state, allowing users to navigate and manage files in multiple directories simultaneously without opening multiple instances of nnn. This is particularly useful for tasks involving copying or moving files between distant locations, or for simply keeping track of different project directories. Contexts can be switched using the 1-4 keys.
HISTORY
nnn was created by Arun Prakash Jana (jarun) with the primary goal of developing an extremely fast and minimalist terminal file manager. It began as a highly optimized alternative to existing TUI file managers, emphasizing speed, small footprint, and extensibility through a plugin system rather than bloating the core application. Since its inception, nnn has gained significant popularity within the Linux and Unix-like communities for its robust performance and straightforward design, evolving with contributions from a vibrant open-source community while maintaining its core philosophy of speed and efficiency.