{"repo":"jarun/nnn","free":true,"listed":false,"github":"https://github.com/jarun/nnn","clone":"git clone https://github.com/jarun/nnn.git","description":"n³ The unorthodox terminal file manager","language":"C","stars":21794,"topics":["android","batch-rename","c","cli","command-line","developer-tools","disk-usage","file-manager","file-preview","file-search","filesystem","launcher","multi-platform","ncurses","productivity","raspberry-pi","terminal","tui","vim","wsl"],"license":"BSD-2-Clause","category":"dev_tool","readme_excerpt":"<h3 align=\"center\"><img src=\"misc/logo/logo-128x128.png\" alt=\"nnn\"><br>nnn - <i>Supercharge your productivity!</i></h3>\n\n<p align=\"center\">\n<a href=\"https://github.com/jarun/nnn/releases/latest\"><img src=\"https://img.shields.io/github/release/jarun/nnn.svg?maxAge=600&label=rel\" alt=\"Latest release\" /></a>\n<a href=\"https://repology.org/project/nnn/versions\"><img src=\"https://repology.org/badge/tiny-repos/nnn.svg?header=repos\" alt=\"Availability\"></a>\n<a href=\"https://circleci.com/gh/jarun/workflows/nnn\"><img src=\"https://img.shields.io/circleci/project/github/jarun/nnn.svg?label=CircleCI\" alt=\"Circle CI Status\" /></a>\n<a href=\"https://github.com/jarun/nnn/actions\"><img src=\"https://github.com/jarun/nnn/actions/workflows/ci.yml/badge.svg?branch=master\" alt=\"GitHub CI Status\" /></a>\n<a href=\"https://en.wikipedia.org/wiki/Privacy-invasive_software\"><img src=\"https://img.shields.io/badge/privacy-✓-crimson?maxAge=2592000\" alt=\"Privacy Awareness\" /></a>\n<a href=\"https://github.com/jarun/nnn/blob/master/LICENSE\"><img src=\"https://img.shields.io/badge/©-BSD%202--Clause-important.svg?maxAge=2592000\" alt=\"License\" /></a>\n</p>\n\n<p align=\"center\"><a href=\"https://github.com/user-attachments/assets/541ca36d-ae26-49fb-97da-d1f7a12d4b9a\"><img src=\"https://github.com/user-attachments/assets/a8ee4689-1552-4fb1-997e-b16fe8ef5086\"></a></p>\n\n<h3 align=\"center\">[<a\nhref=\"https://github.com/jarun/nnn#features\">Features</a>] [<a\nhref=\"https://github.com/jarun/nnn#quickstart\">Quickstart</a>] [<a\nhref=\"https://github.com/jarun/nnn/tree/master/plugins#nnn-plugins\">Plugins</a>] [<a\nhref=\"https://github.com/jarun/nnn/wiki\">Wiki</a>]</h3>\n\n`nnn` (_n³_) is a full-featured terminal file manager. It's tiny (~150 KiB), [nearly 0-config](https://github.com/jarun/nnn#quickstart) and [incredibly fast](https://github.com/jarun/nnn/wiki/Performance).\n\nIt is designed to be unobtrusive with smart workflows to match the trains of thought.\n\n`nnn` can analyze disk usage, batch rename, launch apps and pick files. The plugin repository has tons of plugins to extend the capabilities further e.g. [live previews](https://github.com/jarun/nnn/wiki/Live-previews), (un)mount disks, find & list, file/dir diff, upload files. A [patch framework](https://github.com/jarun/nnn/tree/master/patches) hosts sizable user-submitted patches which are subjective in nature.\n\nIndependent (neo)vim plugins - [nnn.vim](https://github.com/mcchrish/nnn.vim), [vim-floaterm nnn wrapper](https://github.com/voldikss/vim-floaterm#nnn) and [nnn.nvim](https://github.com/luukvbaal/nnn.nvim) (neovim exclusive).\n\nRuns on the Pi, [Termux](https://www.youtube.com/embed/AbaauM7gUJw) (Android), Linux, macOS, BSD, Haiku, Cygwin, WSL, across DEs or a strictly CLI env.\n\n[_(more use cases)_](https://github.com/jarun/nnn/wiki/Basic-use-cases#the_nnn-magic)\n\n## Features\n\n- Quality\n  - Privacy-aware (no unconfirmed user data collection)\n  - POSIX-compliant, follows Linux kernel coding style\n  - Highly optimized, static analysis integrated code\n- Frugal\n  - Typically needs less than 3.5MB resident memory\n  - Works with 8 colors (and xterm 256 colors)\n  - Disk-IO sensitive (few disk reads and writes)\n  - No FPU usage (all integer maths, even for file size)\n  - Minimizes screen refresh with fast line redraws\n  - Tiny binary (typically around 100KB)\n  - 1-column mode for smaller terminals and form factors\n  - Hackable - compile in/out features and dependencies\n- Portable\n  - Language-agnostic plugins\n  - Static binary available (no need to install)\n  - Minimal library deps, easy to compile\n  - No config file, minimal config with sensible defaults\n  - Plugin to backup configuration\n  - Widely available on many packagers\n  - Touch enabled, handheld-friendly shortcuts\n  - Unicode support\n- Modes\n  - Light (default), detail\n  - Disk usage analyzer (block/apparent)\n  - File picker, (neo)vim plugin\n- Navigation\n  - Filter with automatic dir entry on unique match\n  - *Type-to-nav* (turbo navigation/always filter) mode\n  - Jump to an entry with visible relative offset\n  - Contexts (_aka_ tabs/workspaces) with custom colors\n  - Sessions, bookmarks, mark and visit a dir\n  - Remote mounts (needs `sshfs`, `rclone`)\n  - Familiar shortcuts (arrows, <kbd>~</kbd>, <kbd>-</kbd>, <kbd>@</kbd>), quick look-up\n  - `cd` on quit (*easy* shell integration)\n  - Proceed to next file on file open and selection\n- Search\n  - Instant filtering with *search-as-you-type*\n  - Fuzzy, regex (POSIX/PCRE2) and string (default) filters\n  - Subtree search plugin to open or edit files\n- Sort\n  - Ordered pure numeric names by default (visit `/proc`)\n  - Case-insensitive version (_aka_ natural) sort\n  - By name, access/change/mod (default) time, size, extn\n  - Reverse sort\n  - Directory-specific ordering\n- Mimes\n  - Built-in previewer for directory and text files\n  - FIFO-based previewer plugins with extensive mime support\n  - Open with desktop opener or specify a custom opener\n  - File-specific colors (or minimal _dirs in context color_)\n  - Icons and Emojis support (customize and compile-in)\n  - Plugin for image, video and audio thumbnails\n  - Create, list, extract (to), mount (FUSE based) archives\n  - Option to open all text files in `$EDITOR`\n- Convenience\n  - Detailed file stats and mime information\n  - Run plugins and custom commands with hotkeys\n  - FreeDesktop compliant trash utility integration\n  - Cross-dir file/all/range selection\n  - Create (with parents), rename, duplicate files and dirs\n  - Create new file or directory (tree) on startup\n  - Batch renamer for selection or dir\n  - List input stream of file paths from stdin or plugin\n  - Copy (as), move (as), delete, archive, link selection\n  - Easily copy, move paths in system clipboard to current dir\n  - Dir updates, notification on `cp`, `mv`, `rm` completion\n  - Copy file paths to system clipboard on select\n  - Launch apps, run commands, spawn a shell, toggle exe\n  - Access context paths/files at prompt or spawned shell\n  - Lock terminal after configurable idle timeout\n  - Capture and show output of a program in help screen\n  - Basic support for screen readers and braille displays\n\n## Quickstart\n\n### Beginners\n\n1. [Install](https://github.com/jarun/nnn/wiki/Usage#installation) `nnn`, preferbly using the package manager.\n2. Run the following command to generate (and optionally add to your rc file) a shell function to start with.\n   ```sh\n   sh -c \"$(curl -Ls https://raw.githubusercontent.com/jarun/nnn/master/misc/quickstart.sh)\"\n   ```\n\nUse the shell function name you chose to run `nnn` with your preferred configuration.\n\n### Power users\n\n1. [Install](https://github.com/jarun/nnn/wiki/Usage) `nnn` and the dependencies you need.\n2. The desktop opener is default. Use `-e` to open text files in the terminal. Optionally [open detached](https://github.com/jarun/nnn/wiki/Basic-use-cases#detached-text).\n3. Configure [cd on quit](https://github.com/jarun/nnn/wiki/Basic-use-cases#configure-cd-on-quit).\n4. [Sync subshell](https://github.com/jarun/nnn/wiki/Basic-use-cases#sync-subshell-pwd) `$PWD` to `nnn`.\n5. [Install plugins](https://github.com/jarun/nnn/tree/master/plugins#installation).\n6. Use `-x` to sync selection to clipboard, show notis on `cp`, `mv`, `rm` and set xterm title.\n7. For a CLI-only environment, set [`NNN_OPENER`](https://github.com/jarun/nnn/wiki/Usage#configuration) to [`nuke`](https://github.com/jarun/nnn/blob/master/plugins/nuke). Use option `-c`.\n8. Bid `ls` goodbye! `alias ls='nnn -de'` :sunglasses:\n9. Visit the [Live previews](https://github.com/jarun/nnn/wiki/Live-previews) and [Troubleshooting](https://github.com/jarun/nnn/wiki/Troubleshooting) Wiki pages.\n\nDon't memorize! Arrows, <kbd>/</kbd>, <kbd>q</kbd> suffice. <kbd>Tab</kbd> creates and/or cycles contexts. <kbd>?</kbd> lists shortcuts.\n\n[![](https://github.com/user-attachments/assets/e93f7571-8b8d-4703-bef1-93fc804adf7d)](https://www.youtube.com/embed/-knZwdd1ScU)\n\n[![Wiki](https://img.shields.io/badge/RTFM-nnn%20Wiki-crimson?maxAge=2592000)](https://github.com/jarun/nnn/wiki)\n\n## Videos\n\n- [nnn file manager on Termux (Android)](https://www.youtube.com/embed/AbaauM7gUJw)\n- [NNN File Manager](https://www.youtube.com/embed/1QXU4XSqXNo)\n- [This Week in Linux 114 - TuxDigital](https://www.youtube.com/watch?v=5W9ja0DQjSY&t=2059s)\n- [nnn file manager basics - Linux](https://www.youtube.com/embed/il2Fm-KJJfM)\n- [I'M GOING TO USE THE NNN FILE BROWSER! 😮](https://www.youtube.com/embed/U2n5aGqou9E)\n- [NNN: Is This Terminal File Manager As Good As People Say?](https://www.youtube.com/embed/KuJHo-aO_FA)\n- [nnn - A File Manager (By Uoou, again.)](https://www.youtube.com/embed/cnzuzcCPYsk)\n\n## Elsewhere\n\n- [AddictiveTips](https://www.addictivetips.com/ubuntu-linux-tips/navigate-linux-filesystem/)\n- [ArchWiki](https://wiki.archlinux.org/index.php/Nnn)\n- [FOSSMint](https://www.fossmint.com/nnn-linux-terminal-file-browser/)\n- [gHacks Tech News](https://www.ghacks.net/2019/11/01/nnn-is-an-excellent-command-line-based-file-manager-for-linux-macos-and-bsds/)\n- Hacker News [[1](https://news.ycombinator.com/item?id=18520898)] [[2](https://news.ycombinator.com/item?id=19850656)]\n- [It's FOSS](https://itsfoss.com/nnn-file-browser-linux/)\n- [Linux Format Issue 265; Manage files with nnn](https://linuxformat.com/archives?issue=265)\n- LinuxLinks [[1](https://www.linuxlinks.com/nnn-fast-and-flexible-file-manager/)] [[2](https://www.linuxlinks.com/bestconsolefilemanagers/)] [[3](https://www.linuxlinks.com/excellent-system-tools-nnn-portable-terminal-file-manager/)]\n- [Linux Magazine; FOSSPicks](https://www.linux-magazine.com/Issues/2017/205/FOSSPicks/(offset)/15)\n- [Make Tech Easier](https://www.maketecheasier.com/nnn-file-manager-terminal/)\n- [Opensource.com](https://opensource.com/article/22/12/linux-file-manager-nnn)\n- [Open Source For You](https://www.opensourceforu.com/2019/12/nnn-this-feature-rich-terminal-file-manager-will-enhance-your-productivity/)\n- [PCLinuxOS Magazine Issue June 2021](https://pclosmag.com/html/Issues/202106/pa","default_branch":"master","files":126,"tree":[".circleci/config.yml",".github/FUNDING.yml",".github/ISSUE_TEMPLATE/bug_report.md",".github/ISSUE_TEMPLATE/config.yml",".github/workflows/ci.yml",".github/workflows/codeql.yml",".gitignore","CHANGELOG","LICENSE","Makefile","README.md","misc/CONTRIBUTING.md","misc/auto-completion/bash/nnn-completion.bash","misc/auto-completion/fish/nnn.fish","misc/auto-completion/zsh/_nnn","misc/desktop/nnn.desktop","misc/haiku/Makefile","misc/haiku/haiku_interop.h","misc/haiku/nm.cpp","misc/haiku/nnn-master.recipe","misc/haiku/nnn.rdef","misc/logo/logo-128x128.png","misc/logo/logo-64x64.png","misc/logo/logo.svg","misc/macos-legacy/mach_gettime.c","misc/macos-legacy/mach_gettime.h","misc/musl/musl-static-ubuntu.sh","misc/natool/natool","misc/packagecore/packagecore.yaml","misc/quickstart.sh","misc/quitcd/quitcd.bash_sh_zsh","misc/quitcd/quitcd.csh","misc/quitcd/quitcd.elv","misc/quitcd/quitcd.fish","misc/quitcd/quitcd.nu","misc/quitcd/quitcd.rc","misc/test/benchmark.sh","misc/test/genfiles.sh","misc/test/mktest.sh","misc/test/nnn_runner.sh","misc/test/nnn_runner_sample_input.txt","misc/test/plot-bench.py","misc/test/test-76ee5803.sh","misc/test/verify-du.sh","nnn.1","patches/README.md","patches/check-patches.sh","patches/colemak/mainline.diff","patches/gitstatus/mainline.diff","patches/gitstatus/namefirst.diff","patches/namefirst/mainline.diff","patches/restorepreview/mainline.diff","plugins/.cbcp","plugins/.iconlookup","plugins/.nmv","plugins/.nnn-plugin-helper","plugins/.npreview","plugins/.ntfy","plugins/README.md","plugins/autojump","plugins/boom","plugins/bulknew","plugins/cbcopy-mac","plugins/cbpaste-mac","plugins/cdpath","plugins/chksum","plugins/cmusq","plugins/diffs","plugins/dragdrop","plugins/dups","plugins/finder","plugins/fixname","plugins/fzcd","plugins/fzhist","plugins/fzopen","plugins/fzplug","plugins/getplugs","plugins/gitroot","plugins/gpgd","plugins/gpge","plugins/gpgs","plugins/gpgv","plugins/gsconnect","plugins/gutenread","plugins/imgresize","plugins/imgur","plugins/imgview","plugins/ipinfo","plugins/kdeconnect","plugins/launch","plugins/mimelist","plugins/moclyrics","plugins/mocq","plugins/mp3conv","plugins/mtpmount","plugins/nbak","plugins/nmount","plugins/nuke","plugins/oldbigfile","plugins/openall","plugins/organize","plugins/pdfread","plugins/preview-tabbed","plugins/preview-tui","plugins/pskill","plugins/renamer","plugins/ringtone","plugins/rsynccp","plugins/splitjoin","plugins/stats","plugins/suedit","plugins/tnp","plugins/togglex","plugins/umounttree","plugins/upload","plugins/wallpaper","plugins/x2sel","plugins/xdgdefault","src/.clang-tidy","src/dbg.h","src/icons-hash.c","src/icons-in-terminal.h","src/icons.h","src/nnn.c","src/nnn.h","src/qsort.h"],"storefront":"/r/jarun","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jarun/nnn/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}