nnn v3.1
2020-04-13
- unlimited bookmarks and plugin keys
- status bar text in context color
- support config `NO_COLOR` to disable colors
- config `NNN_OPTS` to specify binary options to `nnn`
- config `NNN_MCLICK` to emulate configurable key
- toggle selection on right click
- ignore hard links when calculating disk usage
- dim (hard/sym) link names (symlink to file has `@`)
- more special keys at empty filter prompt in _type-to-nav_
- key > to export file list
- option `-F` to show fortune in help and settings screen
- option `-T` to specify sort order (obsoletes `-v`)
- option to clear sort order
- key T to change time type (access/change/mod)
- `.nmv` - internal fully-functional batch renamer plugin
- make var `O_NOBATCH` to disable native batch renamer
- `nuke` & `imgview` - open all images in directory sxiv
- `nuke` - open log files in vi
- plugin `x2sel` - system clipboard to selection copier
- plugin `fzy` - cd using z database
- plugin `fzopen` - support `FZF_DEFAULT_COMMAND`
- create new context on TAB without prompt
- hover and connect by dir name (within config dir)
- move to next entry on current file delete
- on single file copy/move, select the copied/moved file
- option `-f` to to use readline history file (off by default)
- use `s` in status bar to indicate selection in progress
- make var `O_NOMOUSE` to disable mouse support
- do not store `NNN_TRASH` and `-Q` in config/session
- add sample .desktop file for XDG compatible DEs
- rename _nav-as-you-type_ to _type-to-nav_ mode
- fix PCRE case-insensitive regex search
- fix no error msg when filter length limit exceeded
- fix static package generation
- fix broken abort message when started in du-mode
- fix filter lost on context switch in non _type-to-nav_ mode
- fix broken readline prompt
- fix long strings treated as action keys in filter prompt
- fix `NNNLVL` not reset when spawned shell is exited
-------------------------------------------------------------------------------
nnn v3.0
2020-02-12
- take list of files as input and show
- option `-e` replaces `NNN_USE_EDITOR`
- option `-t` replaces `NNN_IDLE_TIMEOUT`
- PCRE support
- more readline bindings for native prompts
- run GUI app as plugin
- attempt lazy unmount when regular unmount fails
- fix unmount on macOS: use `umount`
- detect `sshfs` and `rclone` to prompt intelligently
- auto-proceed on file open (toggle key +)
- quit with error code on Q
- additional key F5 to toggle hidden
- key e to edit in EDITOR (back on multiple user requests)
- option to edit list of files in selection is changed to E
- do not end selection on redraw
- `nuke`: [`glow`](https://github.com/charmbracelet/glow) as Markdown viewer
- `nuke`: refactor, handle some common video types by extension
- file name removed from status bar
- static Makefile target
- generate, upload static package on release
- fix crash on entering empty dir, then Down
- fix keypresses lost when showing message
- fix #227: `nnn` creates xdg-open zombies
-------------------------------------------------------------------------------
nnn v2.9
2020-01-15
- all keybinds and options reviewed by the team and frozen (see #422)
- reduced number of 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 v2.8.1
2019-12-05
- Fix always archiving current file
- More elaborate docs on selection changes
-------------------------------------------------------------------------------
nnn v2.8
2019-12-04
- 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
- plugins
- 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
-------------------------------------------------------------------------------
nnn v2.7
2019-10-06
- plugins for image preview, image and video thumbnails
- redesigned selection workflow
- drop path prefix for 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 to next file on single file select
- path clipping for long paths
- 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] go to next active context
- Lead[ go to prev active context
- 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 v2.6
2019-08-06
- 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
-------------------------------------------------------------------------------
nnn v2.5
2019-05-27
- mouse support
- new location for config files - `~/.config/nnn`
- plugin dir location: `~/.config/nnn/plugins`
- selection file `.nnncp` is now `~/.config/nnn/.selection`
- plugins:
- 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)
- changes to support [configuration](https://github.com/jarun/nnn/wiki/nnn-as-default-file-manager) 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 v2.4
2019-03-19
- FreeDesktop.org compliant trashing
- mark selected entries with `+`
- _wild_ mode (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 for 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 v2.3
2019-02-19
- file picker mode
- repo of user-contributed scripts
- substring search for filters (option `-s`)
- version sort (option `-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 in top
- fixed CJK character handling at prompts
- key `N` (1 <= N <= 4) to switch to context N
- 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 (Y)
- show command prompt (^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 v2.2
2019-01-01
What's in?
- (neo)vim plugin [nnn.vim](https://github.com/mcchrish/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 v2.1
2018-11-23
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](https://github.com/jarun/nnn#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
- `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 v2.0
2018-10-19
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 v1.9
2018-08-10
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 on curses
- Sample script for `fzy` integration
- Now available on OpenBSD
- Disabled package generation for Ubuntu 17.10
-------------------------------------------------------------------------------
nnn v1.8
2018-05-02
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
- Additional information in help screen
- Give preference to env var VISUAL, if defined, over EDITOR
- New/changed/remapped shortcuts
- ^] - spawn a new shell in current directory
- r - edit directory entries in vidir
- R - run a custom script
- ^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 v1.7
2018-02-28
What's in?
- Batch rename/move/delete files in vidir from [moreutils](https://joeyh.name/code/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:
- ^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 nav-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 v1.6
2017-12-25
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 v1.5
2017-10-05
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 v1.4
2017-09-04
What's in?
- Monitor directory changes
- In-place file rename
- Pin (`Ctrl-B`) a directory and visit (`Ctrl-V`) it anytime
- 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 v1.3
2017-07-26
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 v1.2
2017-06-29
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 v1.1
2017-05-12
News
- Introducing nlay - a highly customizable bash script to handle media type
- nnn is on [Homebrew](http://braumeister.org/formula/nnn) 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
-------------------------------------------------------------------------------
nnn v1.0
2017-04-13
Modifications
- Behaviour and navigation
- Detail view (default: disabled) with:
- file type (directory, regular, symlink etc.)
- modification time
- human-readable file size
- current item in reverse video
- number of items in current directory
- full name of currently selected file in 'bar'
- Show details of the currently selected file (stat, file)
- Disk usage analyzer mode (within the same fs, doesn't follow symlinks)
- Directories first (even with sorting)
- Sort numeric names in numeric order
- Case-insensitive alphabetic content listing instead of upper case first
- Key `-` to jump to last visited directory
- Roll over at the first and last entries of a directory (with Up/Down keys)
- Removed navigation restriction with relative paths (and let permissions handle it)
- Sort entries by file size (largest to smallest)
- Shortcut to invoke file name copier (set using environment variable `NNN_COPIER`)
- File association
- Set `NNN_OPENER` to let a desktop opener handle it all. E.g.:
export NNN_OPENER=xdg-open
export NNN_OPENER=gnome-open
export NNN_OPENER=gvfs-open
- Selective file associations (ignored if `NNN_OPENER` is set):
- Associate plain text files (determined using file) with vi
- Associate common audio and video mimes with mpv
- Associate PDF files with [zathura](https://pwmt.org/projects/zathura/)
- Removed `less` as default file opener (there is no universal standalone opener utility)
- You can customize further (see [how to change file associations](#change-file-associations))
- `NNN_FALLBACK_OPENER` is the last line of defense:
- If the executable in static file association is missing
- If a file type was not handled in static file association
- This may be the best option to set your desktop opener to
- To enable the desktop file manager key, set `NNN_DE_FILE_MANAGER`. E.g.:
export NNN_DE_FILE_MANAGER=thunar
- Optimization
- All redundant buffer removal
- All frequently used local chunks now static
- Removed some redundant string allocation and manipulation
- Simplified some roundabout procedures
- Compiler warnings fixed
- strip the final binary
-------------------------------------------------------------------------------