nnn Changelog

What's new in nnn 4.9

Aug 27, 2023
  • nnn v4.9 Elixir:
  • config option NNN_ARCHMNT to specify archive mounter utility
  • key ^y to jump to next young file
  • filter adjustment when opening context from plugin
  • properly update mode after chmod
  • pre-fill selected file name to create link if sel is preferred over hovered
  • fix crash when PWD is empty
  • make quitcd.bash_zsh POSIX-compliant
  • nmount - support udiskctl as default
  • preview-tui - support wezterm split size percentage
  • preview-tui - move to bash for environment manipulation through arrays
  • fzopen - handle empty selection
  • finder - use default path to find
  • add icons for djvu files
  • support Nerd Fonts v3.0.0 and above (older versions are broken by v3.0.0)
  • Sponsor

New in nnn 4.8 (Apr 18, 2023)

  • show total size (key S) of non-filtered selection in a directory
  • fix tilde (~) handling in file name
  • plugin .nmv now respects -u flag
  • env var $NNN_PREFER_SELECTION exported to all plugins
  • support for wezterm in preview-tui
  • create new file or directory (tree) on startup
  • run command as plugin now supports exported variables
  • use "$nnn" anywhere when running command as plugin
  • set defaults for some prompts on Enter
  • improve archive, rename and create new workflows
  • optimize link creation
  • allow overwriting regular files on new empty file creation
  • add patch for colemak keyboard (existing renamed to colemak-dh)
  • add correct check for Wayland in clipboard plugins
  • add quitcd script for nushell
  • plugin kdeconnect - send multiple files
  • plugin preview-tui: add chafa as preferred image viewer, multiple fixes
  • plugin nmount - misc. improvements
  • add icon for jxl files

New in nnn 4.7 (Nov 25, 2022)

  • nnn v4.7 Cuba:
  • fix ^N not working sometimes (#1449)
  • fix file remove confirmation prompt [Esc - cancel, y/Y - use force, any other key - prompt for each file]
  • bring back atool as the default archive handler
  • add option -B to use bsdtar as the archive utility
  • find and list mode improvements
  • continue even if max paths/data size limit is exceeded
  • speed improvements
  • support listing maximum 16K paths of 64 MiB of data
  • key J to jump to an entry or relative offset from current entry
  • prefill the hard link creation prompt when there's a single target (#1507)
  • documented workaround for docker container crash (#1407, #1476)
  • plugin imgview: handle arguments as strings (#1509)
  • plugin wallpaper: support Wayland (#1512)
  • plugin upload: handle selection using ffsend (#1523)
  • add Rust icons (#1502)

New in nnn 4.6 (Aug 3, 2022)

  • nnn v4.6 Absinthe release notes:
  • icon handling overhaul for better performance, memory usage and reduced binary size (#1432, #1436)
  • emoji support for supporting distros and terminals (#1346)
  • open the target directory of symlinked bookmarks (#1353)
  • enable show hidden when a hidden file is passed as argument
  • add Colemak-DH layout keybinds to patch framework (#1421)
  • set bsdtar as the default archive utility
  • support 4 byte unicode keybinds (#1428)
  • enable directory auto-enter during filter operation (-A to disable)
  • enable filter prompt inside the bookmark/plugin dirs
  • show volume usage information in help
  • add Elixir icons (#1437)
  • add new icon colors for mp4 and flac files
  • use stat -x for file details on *BSD and macOS (#1389)
  • interpret suffix $nnn when paging (#1355)
  • disable key e (edit file) in explorer mode (#1394)
  • fix double order chars on filter case match change
  • .cbcp: more verbose message on paste without a selection
  • plugin preview-tui: scale-up kitty previews
  • plugin preview-tui: account for ueberzug offset
  • plugin preview-tui: support SPLIT_SIZE for preview pane (#1431)
  • plugin autojump: support z.lua
  • new Makefile target shellcheck to verify plugins

New in nnn 4.5 (Apr 27, 2022)

  • disable filter info if file details (option -i) enabled
  • open previous active context on context quit
  • switch ^J and + functionality:
  • +: toggle file selection
  • ^J: toggle auto-jump on file open
  • allow symlink creation with name @ to a single file (#1345)
  • clear selection on successful operation at native prompt with "%j" (#1330)
  • reverse timestamps of entries modified/created within 5 minutes
  • avoid using non-portable xargs flags on macOS (#1299)
  • quitcd script for Elvish shell > 0.17.0 (#1344)
  • plugin openall to open selected files together (#1333)
  • plugin gitroot to jump to git root directory from a subtree
  • plugin gsconnect to send the selected files to Android using gsconnect
  • icon for opus and webp files
  • preview-tui - fix gif conversion and whitespace name
  • preview-tui - add support for windows terminal split
  • preview-tui - djvu file previews
  • nuke - add support for imv when named imv
  • gsconnect - support connection to multiple devices
  • export NNN_INCLUDE_HIDDEN to plugins (#1308)
  • respect NNN_TRASH in .nmv (#1306)
  • add GNU sed as a dependency with support for env var SED
  • use bold > to point at current entry in detail mode
  • add 2 spaces after icons for better visibility
  • documentation refresh
  • make option O_NOSORT to load directories unsorted on entry

New in nnn 4.4 (Dec 3, 2021)

  • support macOS iterm2 in plugin preview-tui (#1196)
  • use selection at native command prompt with %j and %J (docs)
  • scroll strings longer than columns in rename/new prompts (#1213, #279)
  • batch rename symlink targets in listing mode (#1214)
  • option for recursive rename in plugin .nmv (#1186)
  • more frequent checks for cancellation during du (#1236)
  • picker mode: enable auto-proceed
  • picker mode: don't pick hovered file on Enter if selection exists
  • picker mode: fix issue in plugin fzopen when used to pick files
  • send file to explorer FIFO on double left click instead of opening it
  • new neovim plugin nnn.nvim featuring explorer mode
  • explorer mode for nnn.vim
  • remove option -w: always place HW cursor on current entry
  • accept link name when linking a single target (#1201)
  • option -i to show current file information in info bar
  • force GNU sed on *BSD and Solaris
  • add nsxiv support to nuke, preview-tabbed and imgview (#1230)
  • fix preview-tui without -a (#1208)
  • pass pts in env var for preview-tui to use in tput (#1235)
  • disable editing file in picker mode (#1183)
  • save session in picker mode (#1190)
  • use nerd icons for gitstatus patch (#1220)

New in nnn 2.9 (Jan 15, 2020)

  • 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

New in nnn 2.8 (Dec 4, 2019)

  • 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
  • fzopen renamed to fzopen
  • 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

New in nnn 2.7 (Oct 8, 2019)

  • 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

New in nnn 2.6 (Aug 7, 2019)

  • 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

New in nnn 2.5 (May 28, 2019)

  • 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)

New in nnn 2.4 (Mar 31, 2019)

  • 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