nnn

n³ The unorthodox terminal file manager

BSD-2-CLAUSE License

Downloads
1.2K
Stars
19.1K
Committers
197

Bot releases are hidden (Show)

nnn - nnn v2.9

Published by jarun almost 5 years ago

What's in?

  • user pain points addressed
    • all keybinds and options reviewed by the team and frozen (see #422)
    • fewer keybinds
    • greatly improved help screen readability
  • nuke: sample opener (CLI-only by default) and plugin
  • fast line redraws instead of full screen refresh (thanks @annagrram)
  • auto archive handling by extension (see config NNN_ARCHIVE)
  • Lead key simplified to bookmark key (b or ^/)
  • single key to toggle order (t or ^T)
  • plugins
    • .cbcp: copy selection to system clipboard (internal, program option -x)
    • .ntfy: show noti on cp, mv, rm completion (internal, program option -x)
    • autojump: navigate using autojump
    • upload: paste text files to http://ix.io, upload rest to https://file.io
    • all fuzzy plugins modified to support both fzf and fzy
  • more control on plugins
    • prefix - to skip directory refresh after running (cmd as) plugin
    • suffix * to skip confirmation after running cmd as plugin
  • indicate range selection mode with *
  • list keys at bookmark and plugin key prompts
  • visit to pinned dir like bookmarks (Bookmark key followed by ,)
  • toggle executable (key *)
  • show mime along with file details
  • more special keys at empty filter prompt:
    • apply the last filter (^L)
    • toggle between string and regex (/)
    • toggle case-sensitivity (:)
  • retain filter on Esc, Up, Down
  • show filter details when filter is on
  • remove option to run filter as cmd on prompt key (can be disruptive)
  • program options
    • option -x: enable notis and copy selection to system clipboard
    • option -g: regex filters (string filter is default now)
    • option -Q: quit program without confirmation
    • option -s: load session
    • option -n: start in nav-as-you-type mode
    • option -v: version sort
    • option -V: show program version
    • option -A: disable dir auto-select
  • ISO 8601 compliant date in status bar
  • ported to Haiku OS (thanks @annagrram)
  • sort only filtered entries (to avoid directory refresh)
  • fix getplugs to install hidden files
  • fix several selection issues (see #400)
  • fix detail mode not restored on loading session
  • fix symlink to directory not auto-selected
  • fix regex error on partial regex patterns
  • fix symlink not shown if stat(2) on target fails
  • fix flags when spawning a CLI opener as default FM
  • fix issue with stat flag on Sun (no support for dirent.d_type)
  • fix current file in current context not saved correctly in session
  • signed source distribution on release
  • simplified debugging with line numbers in logs
nnn - nnn v2.8.1

Published by jarun almost 5 years ago

What's in?

  • Fix always archiving current file
  • More elaborate docs on selection changes

This release was made to fix the selection archiving issue we found after v2.8 release. Please see the v2.8 release notes for the complete list of features and fixes that went in.

nnn - nnn v2.8

Published by jarun almost 5 years ago

What's in?

  • sessions (thanks @annagrram)
  • rclone support for remote access (mount any cloud storage!!!)
  • toggle selection with Space or ^J
  • ignore events during selection so the + symbol is not lost
  • run custom (non-shell-interpreted) commands like plugins
  • configure cd-on-quit as the default behaviour
  • create parent dirs for new files and dirs, duplicate a file/dir anywhere
  • copy/move as workflow (thanks @KlzXS)
  • edit , flush selection buffer (thanks @KlzXS)
  • support xargs with minimal options (as in BusyBox) (thanks @KlzXS)
  • changed the key to size sort to z
  • additional key ] to show command prompt
  • mount archives using archivemount
  • smoother double click handling
  • program option -R to disable rollover at edges
  • keybind collision checker (for custom keybind config) (thanks @annagrram)
  • show size of file in bytes in status bar in disk usage mode
  • pass unresolved path as second argument ($2) to plugin
  • mechanism for plugins to control active directory
  • all binary questions are confirmed by y or Y
  • plugin changes
    • some plugins renamed
    • integrated shellcheck in CI, POSIX-compliance fixes (thanks @koalaman)
    • getplugs - detect modifications in exiting plugin file (thanks @KlzXS)
    • drag-file & drop-file: drag & drop files using dragon
    • gutenread: browse, download and read from Project Gutenberg
    • suedit - edit file with superuser permissions
    • fzhist - fuzzy select commands from history, edit and run
    • fzcd - change to a fuzzy-searched directory
    • rename - batch rename directory or selection using qmv or vidir
    • pskill - fuzzy list a process or zombies by name and kill
    • exetoggle - toggle executable status of hovered file
    • treeview - informative tree output with file permissions and size
    • chksum - recursively calculate checksum for files in hovered directory
    • imgsxiv instructions added to browse and rename images
  • create link to current file
  • additional key ; to execute plugin
  • more explicit force removal message
  • force non-detachable internal edits in $EDITOR (option -E)
  • export current file as $nnn (instead of $NN)
  • fix file open failure from browser when configured as default FM
nnn - nnn v2.7

Published by jarun about 5 years ago

ode to the users

What's in?

  • user requests/pain points addressed:
    • plugins for image preview, image and video thumbnails
    • redesigned simplified selection workflow
    • drop path prefix of files in current dir for selection based archives
    • custom direct keybinds for plugins
    • libreadline .history file moved to nnn config directory
    • export current entry as $NN at command prompt
    • more informative status bar in light/detail modes
    • auto-proceed on individual file selection
    • path clipping for long paths
    • several binary config vars are now program options to support aliasing
    • completely revamped wiki
  • new program options:
    • -a to use file access time throughout the program
    • -c to indicate cli-only opener
    • -f to run filter as command on ^P
    • -o replaces config NNN_RESTRICT_NAV_OPEN
    • -t replaces config NNN_NO_AUTOSELECT
    • -r replaces config NNN_OPS_PROG
  • plugin changes:
    • vidthumb - show video thumbnails in terminal
    • mediainf - show media info (decoupled as a plugin)
    • notes - open a quick notes file/dir in $EDITOR (decoupled as a plugin)
    • dups - list duplicate files in the current directory
    • oldbigfile - list large files by access time
    • moclyrics - show lyrics of the track currently playing in MOC
    • uidgid list uid and gid of files in directory
    • mocplay - now detects if a track is playing or not
    • organize - categorize files and move to respective directories
    • pastebin - now uses ix.io paste service
    • fzy-edit - merged into fzy-open
    • viuimg - fix directory view
    • checksum - fixed POSIX compliance issues
    • boom - play music in MOC
  • keybind changes:
    • select entry: Space and ^J
    • select range (or clear selection): m and ^K
    • select all in dir: a
    • list selection: M
    • ^N replaces ^T to toggle nav-as-you-type
    • Shift TAB to reverse context cycle
    • ' to jump to first file in dir
    • S for du, A for apparent du
    • additional key : to run plugin
    • additional key F2 to rename file
    • additional key F5 to redraw
    • quit context key Leadq is removed
  • Leader key combinations:
    • Lead' to jump to first file in dir
    • Lead. toggle show hidden files
  • improved duplicate file workflow
  • improved batch rename workflow when a selection exists
  • removed the wild load option (-w)
  • removed quick notes (added plugin notes)
  • fix #225 (thanks @KlzXS)
  • fix tar/bsdtar always creating tar archives (and not by suffix)
  • fix single mouse click to select file not working
  • fix symlink to dir removed on batch rename
  • fix detail mode not set with program option -S
nnn - nnn v2.6

Published by jarun about 5 years ago

What's new?

  • new plugins
    • view image or browse a directory of images in terminal
    • show image thumbnails
    • PDF and text file reader
    • calculate and verify checksum of selection or file
    • append (and play) selection/dir/file music in MOC
    • variable bitrate mp3 ringtone generator
    • split current file or join selection
  • better experience on Termux (and touch based devices)
    • mouse scrolling support (with ncursesw6.0 and above)
    • tap/left click to visit parent, toggle nav-as-you-type mode
  • light mode set as default
  • show status bar and use reverse video in light mode
  • changed program options
    • -d: detail mode
    • -H: show hidden files
    • -l is retired
  • support XDG_CONFIG_HOME
  • support / as an additional Leader key when filter is on
  • sort by file extension
  • use zip/unzip/tar if atool/bsdtar not found
  • support duplicate file (key ^R, same as rename file)
  • new config option NNN_SSHFS_OPTS to specify sshfs options
  • restrict opening 0 byte files (NNN_RESTRICT_0B is obsolete)
  • critical defects fixed
    • fix #276 - crash with variable length inotify event handling
    • fix #285 - hang after deleting/moving current directory
    • fix #274 - a broken prompt on empty input with libreadline
    • fix #304 - list selection from another instance
  • cmatrix as locker fallback
  • wait for user input after running a command from prompt
  • scrolloff set to 3 from 5

Note for package maintainers: Makefile target strip has to be explicit now.

nnn - nnn v2.5

Published by jarun over 5 years ago

What's new?

  • plugin support. 19 plugins added. Some are:
    • pdfview: view a PDF in pager
    • nmount: (un)mount a storage device
    • ndiff: file and directory diff for selection
    • hexview: view a file in hex
    • imgresize: batch resize images to desktop resolution
    • ipinfo: check your IP address and whois information
    • transfer: upload a file to transfer.in
    • pastebin: paste the contents of a text file to paste.ubuntu.com
    • boom: play random music from a directory
    • nwal: set an image as wallpaper using nitrogen
    • pywal: set selected image as wallpaper, change terminal color scheme
    • getplugs: update plugins
  • SSHFS support
  • support bsdtar, simplify patool integration
  • native batch rename support (vidir dependency dropped) including selection
  • mouse support
  • new location for config files - ~/.config/nnn
    • plugin dir location: ~/.config/nnn/plugins
    • selection file .nnncp is now ~/.config/nnn/.selection
  • support configuration as the default file manager
  • per-context detail/light mode
  • case-insensitive version compare
  • shortcut to visit / - ` (backtick)
  • vim-like scrolloff support
  • ^D & ^U: scroll half page, PgDn & PdUp: scroll full page
  • fix selection across contexts
  • recognize Home and End keys at prompt for editing
  • fix broken program option -b
  • POSIX-compliant user-scripts (wherever possible)
  • NNN_SCRIPT is retired (replaced by plugins)
nnn - nnn v2.4

Published by jarun over 5 years ago

What's in?

  • Tinier and lighter!
  • FreeDesktop.org compliant trashing
  • mark selected entries with +
  • wild load (option -w, key ^W) for nav-as-you-type
  • POSIX-compliant GUI app launcher with drop-down menu (key =)
  • new scripts:
    • upload image to imgur
    • send selection to Android using kdeconnect-cli
  • show permissions in detail mode
  • cp, mv progress bar on Linux (needs advcpmv) [BSD, macOS shows on ^T]
  • make libreadline an optional dep (reduces memory usage)
  • minimize the number of redraws
  • handle screen resize gracefully
  • option -d to show hidden files (NNN_SHOW_HIDDEN is removed)
  • additional key K to toggle selection
  • change visit start dir key to @
  • option -C to disable colors removed
  • per-context initial directory replaced by program start dir
  • marker msg when spawning new shell removed
  • rename debug file to nnndbg
nnn - nnn v2.3

Published by jarun over 5 years ago

What's in?

  • user-contributed scripts repository
  • substring search for filters (option -s)
  • version sort (option -n)
  • key N (1 <= N <= 4) to switch to context N
  • disk usage calculation abort with ^C
  • create sym/hard link(s) to files in selection
  • archiving of selection
  • show dir symlinks along with dirs on top
  • use nnn as a file picker with picker.sh
  • fixed CJK character handling at prompts
  • bring back NNN_OPENER to specify file opener
  • env var NNN_NOTE and keybind ^N for quick notes
  • handle multiple arguments in VISUAL/EDITOR
  • show the current directory being scanned in du mode
  • select all files with Y
  • remap key to show command prompt to ^P
  • key , replaces ` as alternative Leader Key
  • keybind for visit pinned directory is now ^B
  • additional key ^V to run or select custom script
  • use libreadline for command prompt
  • reduce delay on Esc press
  • config option to avoid unexpected behaviour on 0-byte file open (see #187)
  • rename config option DISABLE_FILE_OPEN_ON_NAV to NNN_RESTRICT_NAV_OPEN
  • keys removed - $, ^, Backspace, ^H, ^P, ^M, ^W, `
nnn - nnn v2.2

Published by jarun almost 6 years ago

What's in?

  • (neo)vim plugin nnn.vim
  • macOS fixes
    • Fix issues with file copy, move, remove
    • Handle Del in rename prompt
    • Pass correct file option to identify mime
  • Support selection across directories and contexts
  • Offer option force before file remove
  • Keys Tab, ^I to go to next active context
  • Per-context directory color specified by $NNN_CONTEXT_COLORS
    • Option -c is removed
  • Option -C to disable colors
  • Choose script to run from a script directory
  • Run a command (or launch an application)
  • Run file as executable (key C)
  • Documentation on lftp integration for remote file transfers
  • Support a combined set of arguments to $EDITOR, $PAGER and $SHELL
  • Handle > 2 GB files on 32-bit ARM
  • Env var $DISABLE_FILE_OPEN_ON_NAV to disable file open on Right or l
  • NUL-terminated file paths in selection list instead of LF
  • Better support for Termux and Cygwin environments
  • Remapped keys
    • ^I - go to next active context
    • ^T - toggle navigate-as-you-type
nnn - nnn v2.1

Published by jarun almost 6 years ago

What's in?

  • Inclusion in several distros including Arch Linux official repo
  • Multiple contexts (aka tabs aka workspaces) [max 4]
  • Copy, move, remove selected files, remove current file
  • Leader key (like vim)
  • In-built GUI app launcher with up to 2 arguments (key o)
  • List copy selection (key y)
  • Env var NNN_NO_AUTOSELECT to disable dir auto-select
  • Key Esc exits prompt, ^L clears prompt
  • Program runtime help revamped
  • Static code analysis integration
  • gcc-8 warnings fixed
  • Remapped keys:
    • ^W - go to pinned dir
    • ^X - delete current entry
    • ^Q - quit program

What's out?

  • nlay is retired (functionality built into nnn)
  • chdir prompt is retired
  • Env var NNN_NO_X retired, selection now works out of the box
  • Only single-char bookmark keys (to work with Leader key)
nnn - nnn v2.0

Published by jarun almost 6 years ago

What's in?

  • Mode to show apparent size (key S)
  • Script to integrate patool instead of atool
  • Support bashlock (OS X) and lock (BSD) as terminal locker
  • Symbol @/ for symlink to dir
  • Dependency on libreadline removed
nnn - nnn v1.9

Published by jarun about 6 years ago

What's in?

  • Support unlimited number of scripts
  • Pass currently selected filename as first argument to custom scripts
  • Support directory auto-select in navigate-as-you-type mode
  • Show selection name in archive name prompt
  • Support Cygwin opener
  • Better support on RHEL 25 with earlier version of curses
  • Sample script for fzy integration
  • Now available on OpenBSD
  • Disabled package generation for Ubuntu 17.10
nnn - nnn v1.8

Published by jarun over 6 years ago

What's in?

  • Run a custom script
  • Archive selected file/directory
  • Show number of cherry-picked files in multi-copy mode
  • Env var NNN_SHOW_HIDDEN to show hidden files by default
  • More informative help screen
  • Prefer env var VISUAL, if defined, to EDITOR
  • New/changed/remapped shortcuts
    • ^] - spawn a new shell in current directory
    • r - edit directory entries in vidir
    • R - run a custom script
    • f - archive entry
    • ^I - toggle navigate-as-you-type mode
    • L - lock the current terminal (Linux-only)
  • All Ctrl shortcuts enabled in navigate-as-you-type mode
  • Fix: GUI programs closing when parent terminal is closed
  • Recognize ~, - and & at bookmark prompt
  • Recognize ruby (.rb) files as text files
  • Efficient integer-only file size calculation
  • Official inclusion on openSUSE and Fedora
  • Package generation for Ubuntu 18.04
nnn - nnn v1.7

Published by jarun over 6 years ago

What's in?

  • Batch rename/move/delete files in vidir from moreutils
  • Copy multiple file paths
  • Copy file paths when X is unavailable
  • Optionally quote individual file paths with single quotes on copy
  • Use ISO 8601 date format in file details
  • New/changed/remapped shortcuts:
    • ^Y - multi-path copy
    • ^B - show bookmark prompt (replaces b)
    • b - pin current dir (replaces ^B)
    • ^J - toggle du mode
    • R - batch rename files in vidir
    • ^F - extract archive (replaces ^X)
    • ^G - quit nnn and change dir
    • ^X - quit nnn (replaces ^Q)
  • Extra shortcuts enabled in navigate-as-you-type mode:
    • ^K, ^Y (file path copy)
    • ^T (toggles quoted file path copy)
    • ^R (rename)
    • ^O (open with...)
    • ^B (show bookmark prompt)
    • ^V (visit pinned dir)
    • ^J (toggle du mode)
    • ^/ (open desktop opener)
    • ^F (extract archive)
    • ^L (refresh)
    • ^G (quit nnn and change dir)
    • ^X (quit nnn)
nnn - nnn v1.6

Published by jarun almost 7 years ago

Merry Christmas!!!

nnn v1.6 is even faster and leaner! We achieved these figures:
https://github.com/jarun/nnn#performance

What's in?

  • Shortcut ^O to open file with custom application
  • Option -b to open bookmarks directly at start
  • Huge performance improvements around file name storing and handling
  • Several large static buffers removed or reduced
  • Several internal algorithms fine tuned for performance/resource usage
nnn - nnn v1.5

Published by jarun about 7 years ago

What's in?

  • File and directory creation (n)
  • Env variable NNN_NOWAIT to unblock nnn when opening files (DE-specific)
  • Show current entry number in status bar
  • Support archive listing (F) and extraction (Ctrl-X) [using atool]
  • Show correct file size on i386 for large files (> 2GB)
nnn - nnn v1.4

Published by jarun about 7 years ago

What's in?

  • Monitor directory changes
  • In-place file rename
  • Pin a directory (Ctrl-B) and visit it anytime (Ctrl-V)
  • Auto-completion scripts
  • Show volume capacity and free in help
  • Auto-fallback to light mode if too few columns (< 35)
  • PackageCore integration
  • Unsupported Function keys (they never work universally):
    • F2 (rename), use Ctrl-R
    • F5 (refresh), use Ctrl-L
nnn - nnn v1.3

Published by jarun about 7 years ago

What's in?

  • Show directories in custom color (default: enabled in blue)
  • Option -e to use exiftool instead of mediainfo
  • Fixed #34: nftw(3) broken with too many open descriptors
  • More concise help screen
nnn - nnn v1.2

Published by jarun over 7 years ago

What's in?

  • Use the desktop opener (xdg-open on Linux, open(1) on OS X) to open files
  • Option NNN_USE_EDITOR to open text files in EDITOR (fallback vi)
  • Bookmark support (maximum 10, key b)
  • Navigate-as-you-type mode (key Insert or option -i)
  • Subtree search: gnome-search-tool, fallback catfish (key ^/) (customizable)
  • Show current directory content size and file count in disk usage mode
  • Add detail view mode as default, use -l to start in light mode
  • Shortcuts F2 and ^L to refresh and unfilter
    Note: if filter is empty, Enter opens the currently selected file now
  • Help screen shows bookmarks and configuration
  • Show a message when calculating disk usage
  • Show the spawned shell level
  • Linux only: use vlock as the locker on timeout (set using NNN_IDLE_TIMEOUT)
nnn - nnn v1.1

Published by jarun over 7 years ago

News

  • Introducing nlay - a highly customizable bash script to handle media type
  • nnn is on Homebrew now
  • RPM packages for CentOS 7 and Fedora 24 generated on release

What's in?

  • Search-as-you-type
  • Unicode support
  • Option -S to start in disk usage analyzer mode
  • Show media information (using mediainfo)
  • Use readline at change directory prompt
  • Jump to prev directories using cd ..... (with . as PWD)
  • Jump to initial directory using &
  • Show help, mediainfo and file info in PAGER
  • Several optimizations
Package Rankings
Top 7.16% on Alpine-v3.15
Top 7.65% on Alpine-v3.17
Top 0.89% on Alpine-v3.18
Top 6.44% on Alpine-v3.11
Top 5.65% on Alpine-v3.13
Top 6.12% on Alpine-v3.12
Top 7.59% on Alpine-v3.16
Top 8.09% on Alpine-v3.10
Top 6.18% on Alpine-v3.14
Top 6.99% on Alpine-v3.8
Top 4.82% on Alpine-edge
Top 6.47% on Alpine-v3.9
Top 8.4% on Formulae.brew.sh
Top 23.27% on Conda-forge.org
Badges
Extracted from project README
Wiki