Arun Prakash Jana ff562983e1 | il y a 5 ans | |
---|---|---|
.circleci | il y a 5 ans | |
.github | il y a 5 ans | |
misc | il y a 5 ans | |
plugins | il y a 5 ans | |
src | il y a 5 ans | |
.gitignore | il y a 7 ans | |
.travis.yml | il y a 5 ans | |
CHANGELOG | il y a 5 ans | |
LICENSE | il y a 6 ans | |
Makefile | il y a 5 ans | |
README.md | il y a 5 ans | |
nnn.1 | il y a 5 ans |
navigate-as-you-type & du (click to see demo video)
nnn
is a full-featured terminal file manager. It’s tiny, extremely light and fast.
nnn
is also a disk usage analyzer, a fuzzy app launcher, a batch file renamer and a file picker. The plugin repository has 30+ plugins to extend the capabilities further. There’s an independent (neo)vim plugin.
It runs smoothly on the Raspberry Pi, Termux on Android, Linux, macOS, BSD, Cygwin and Linux subsystem for Windows. nnn
works seamlessly with DEs and GUI utilities. It’s nearly zero-config (with sensible defaults) and can be setup in less than 5 minutes.
Add to that an awesome Wiki!
$EDITOR
(fallback vi): export NNN_USE_EDITOR=1
nlaunch
.Notes:
nnn
as the default file manager, follow these instructions.A curses library with wide char support (e.g. ncursesw), libreadline (make O_NORL=1
to drop) and standard libc.
Dependency | Installation | Operation |
---|---|---|
xdg-open (Linux), open(1) (macOS), cygstart (Cygwin) | base | desktop opener |
file, coreutils (cp, mv, rm), findutils (xargs) | base | file type, copy, move and remove |
tar, (un)zip [atool/bsdtar for more formats] | base | create, list, extract tar, gzip, bzip2, zip |
archivemount, fusermount(3) | optional | mount, unmount archives |
sshfs, fusermount(3) | optional | mount, unmount remotes |
trash-cli | optional | trash files (default action: delete) |
vlock (Linux), bashlock (macOS), lock(1) (BSD) | optional | terminal locker (fallback: cmatrix) |
advcpmv (Linux) (integration) | optional | copy, move progress |
fortune | optional | random quotes in help screen |
$VISUAL (else $EDITOR ), $PAGER , $SHELL |
optional | fallback vi, less, sh |
Install nnn
from your package manager. If the version available is dated try an alternative installation method.
● CentOS (yum --enablerepo=epel install nnn
)
● Milis Linux (mps kur nnn
)
● NuTyX (cards install nnn
)
● Source Mage (cast nnn
)
Packages for Arch Linux, CentOS, Debian, Fedora and Ubuntu are auto-generated with the latest stable release.
Download the latest stable release or clone this repository (risky), install deps and compile. On Ubuntu 18.04:
$ sudo apt-get install pkg-config libncursesw5-dev libreadline-dev
$ make
$ sudo make strip install
PREFIX
is supported, in case you want to install to a different location.
Visit the developer guides for compilation notes on the Pi, Cygwin and other compilation modes.
Completion scripts for Bash, Fish and Zsh are available. Refer to your shell’s manual for installation instructions.
There is no config file. Associated files are stored under ${XDG_CONFIG_HOME:-$HOME/.config}/nnn/
.
nnn
supports the following optional (set if you need) environment variables.
Example export |
Description |
---|---|
NNN_BMS='d:~/Documents;D:~/Docs archive/' |
key-bookmark pairs [max 10] |
NNN_PLUG='o:fzy-open;p:mocplay;m:nmount;t:thumb' |
key-plugin pairs (:key to run) [max 10] |
NNN_USE_EDITOR=1 |
open text files in $VISUAL (else $EDITOR , fallback vi) |
NNN_CONTEXT_COLORS='1234' |
specify per context color [default: ‘4444’ (all blue)] |
NNN_SSHFS_OPTS='sshfs -o reconnect,idmap=user' |
specify SSHFS options |
NNN_OPENER=mimeopen |
custom file opener |
NNN_IDLE_TIMEOUT=300 |
idle seconds to lock terminal [default: disabled] |
NNN_COPIER=copier |
clipboard copier script [default: none] |
NNN_TRASH=1 |
trash files to the desktop Trash [default: delete] |
usage: nnn [OPTIONS] [PATH]
The missing terminal file manager for X.
positional args:
PATH start dir [default: .]
optional args:
-a use access time
-b key open bookmark key
-c cli-only opener
-d detail mode
-f run filter as cmd on prompt key
-H show hidden files
-i nav-as-you-type mode
-K detect key collision
-n version sort
-o open files on Enter
-p file selection file [stdout if '-']
-r use advcpmv patched cp, mv
-s string filters [default: regex]
-S du mode
-t disable dir auto-select
-v show version
-h show help
The list below is from the dev branch. Press ? in nnn
to see the keybinds in your installed version.
NAVIGATION
↑ k Up PgUp ^U Scroll up
↓ j Down PgDn ^D Scroll down
← h Parent dir ~ ` @ - HOME, /, start, last
↵ → l Open file/dir . Toggle show hidden
g ^A First entry G ^E Last entry
b Pin current dir ^B Go to pinned dir
(Sh)Tab Cycle context d Toggle detail view
, ^/ Lead key N LeadN Context N
/ Filter/Lead Ins ^N Toggle nav-as-you-type
Esc Exit prompt ^L F5 Redraw/clear prompt
? Help, conf ' Lead' First file
Q ^Q Quit ^G QuitCD q Quit context
FILES
^O Open with... n Create new/link
D File detail ^R F2 Rename/duplicate
⎵ ^J Select entry r Batch rename
m ^K Sel range, clear M List selection
a Select all K Edit selection
P Copy selection w Copy selection as
V Move selection W Move selection as
X Delete selection ^X Delete entry
f Create archive T Mount archive
^F Extract archive F List archive
e Edit in EDITOR p Open in PAGER
ORDER TOGGLES
A Apparent du S du
s Size E Extn t Time
MISC
! ^] Shell = Launch C Execute entry
R ^V Pick plugin :K xK Execute plugin K
c SSHFS mount u Unmount
^P Prompt/run cmd L Lock
Notes:
$PAGER
.nnn.h
and compile.Mouse click | Function |
---|---|
Left single on context number | Visit context |
Left single on top row after context numbers | Visit parent |
Left single/double on last 2 rows | Toggle nav-as-you-type |
Left single | Select context or entry |
Left double | Select context or open entry |
The Lead/Leader key provides a powerful multi-functional navigation mechanism. It is case-sensitive and understands contexts, bookmarks and location shortcuts.
Follower key | Function |
---|---|
1-4 | Go to/create selected context |
key | Go to bookmarked location |
' | Go to first file in directory |
~ </kbd> <kbd>@</kbd> <kbd>-</kbd> | Visit HOME, /`, start, last visited dir | |
|
. | Toggle show hidden files |
When the filter is on, / works as an additional Lead key.
$ nnn -h
$ man nnn
To lookup keyboard shortcuts at runtime, press ?.
Visit the to the ToDo list to contribute.