nnn/CHANGELOG
2020-01-15 09:42:23 +05:30

594 lines
24 KiB
Plaintext

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 (<kbd>b</kbd> or <kbd>^/</kbd>)
- single key to toggle order (<kbd>t</kbd> or <kbd>^T</kbd>)
- 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 <kbd>,</kbd>)
- toggle executable (key <kbd>*</kbd>)
- show mime along with file details
- special keys at empty filter prompt:
- apply the last filter (key <kbd>^L</kbd>)
- set to string (key <kbd>/</kbd>) or regex (key <kbd>\\</kbd>)
- toggle case-sensitivity (<kbd>:</kbd>)
- retain filter on <kbd>Esc</kbd>, <kbd>Up</kbd>, <kbd>Down</kbd>
- 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 <kbd>Space</kbd> or <kbd>^J</kbd>
- 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 <kbd>z</kbd>
- additional key <kbd>]</kbd> 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 <kbd>y</kbd> or <kbd>Y</kbd>
- 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 <kbd>;</kbd> 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 <kbd>^P</kbd>
- `-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: <kbd>Space</kbd> and <kbd>^J</kbd>
- select range (or clear selection): <kbd>m</kbd> and <kbd>^K</kbd>
- select all in dir: <kbd>a</kbd>
- list selection: <kbd>M</kbd>
- <kbd>^N</kbd> replaces <kbd>^T</kbd> to toggle _nav-as-you-type_
- <kbd>Shift TAB</kbd> to reverse context cycle
- <kbd>'</kbd> to jump to first file in dir
- <kbd>S</kbd> for du, <kbd>A</kbd> for apparent du
- additional key <kbd>:</kbd> to run plugin
- additional key <kbd>F2</kbd> to rename file
- additional key <kbd>F5</kbd> to redraw
- quit context key <kbd>Leadq</kbd> is removed
- Leader key combinations:
- <kbd>Lead'</kbd> to jump to first file in dir
- <kbd>Lead]</kbd> go to next active context
- <kbd>Lead[</kbd> go to prev active context
- <kbd>Lead.</kbd> 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 <kbd>/</kbd> 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 <kbd>^R</kbd>, 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 `/` - <kbd>`</kbd> (backtick)
- vim-like scrolloff support
- <kbd>^D</kbd> & <kbd>^U</kbd>: scroll half page, <kbd>PgDn</kbd> & <kbd>PdUp</kbd>: scroll full page
- fix selection across contexts
- recognize <kbd>Home</kbd> and <kbd>End</kbd> 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 <kbd>^W</kbd>) for _nav-as-you-type_
- POSIX-compliant GUI app launcher with drop-down menu (key <kbd>=</kbd>)
- 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 <kbd>^T</kbd>]
- 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 <kbd>K</kbd> to toggle selection
- change visit start dir key to <kbd>@</kbd>
- 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 <kbd>^C</kbd>
- 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 <kbd>^N</kbd> for quick notes
- handle multiple arguments in VISUAL/EDITOR
- show the current directory being scanned in `du` mode
- select all files (<kbd>Y</kbd>)
- show command prompt (<kbd>^P</kbd>)
- key <kbd>,</kbd> replaces <kbd>`</kbd> as alternative Leader Key
- keybind for visit pinned directory is now <kbd>^B</kbd>
- additional key <kbd>^V</kbd> to run or select custom script
- use libreadline for command prompt
- reduce delay on <kbd>Esc</kbd> 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 - <kbd>$</kbd>, <kbd>^</kbd>, <kbd>Backspace</kbd>, <kbd>^H</kbd>, <kbd>^P</kbd>, <kbd>^M</kbd>, <kbd>^W</kbd>, <kbd>`</kbd>
-------------------------------------------------------------------------------
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 <kbd>Del</kbd> in rename prompt
- Pass correct `file` option to identify mime
- Support selection across directories and contexts
- Offer option `force` before file remove
- Keys <kbd>Tab</kbd>, <kbd>^I</kbd> 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 <kbd>C</kbd>)
- 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 <kbd>Right</kbd> or <kbd>l</kbd>
- `NUL`-terminated file paths in selection list instead of `LF`
- Better support for Termux and Cygwin environments
- Remapped keys
- <kbd>^I</kbd> - go to next active context
- <kbd>^T</kbd> - 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 <kbd>o</kbd>)
- List copy selection (key <kbd>y</kbd>)
- Env var `NNN_NO_AUTOSELECT` to disable dir auto-select
- Key <kbd>Esc</kbd> exits prompt, <kbd>^L</kbd> clears prompt
- Program runtime help revamped
- Static code analysis integration
- gcc-8 warnings fixed
- Remapped keys:
- <kbd>^W</kbd> - go to pinned dir
- <kbd>^X</kbd> - delete current entry
- <kbd>^Q</kbd> - 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
- <kbd>^]</kbd> - spawn a new shell in current directory
- <kbd>r</kbd> - edit directory entries in vidir
- <kbd>R</kbd> - run a custom script
- <kbd>^I</kbd> - toggle navigate-as-you-type mode
- <kbd>L</kbd> - 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:
- <kbd>^B</kbd> - show bookmark prompt (replaces <kbd>b</kbd>)
- <kbd>b</kbd> - pin current dir (replaces <kbd>^B</kbd>)
- <kbd>^J</kbd> - toggle du mode
- <kbd>R</kbd> - batch rename files in vidir
- <kbd>^F</kbd> - extract archive (replaces <kbd>^X</kbd>)
- <kbd>^G</kbd> - quit nnn and change dir
- <kbd>^X</kbd> - quit nnn (replaces <kbd>^Q</kbd>)
- Extra shortcuts enabled in nav-as-you-type mode:
- <kbd>^K</kbd>, <kbd>^Y</kbd> (file path copy)
- <kbd>^T</kbd> (toggles quoted file path copy)
- <kbd>^R</kbd> (rename)
- <kbd>^O</kbd> (open with...)
- <kbd>^B</kbd> (show bookmark prompt)
- <kbd>^V</kbd> (visit pinned dir)
- <kbd>^J</kbd> (toggle du mode)
- <kbd>^/</kbd> (open desktop opener)
- <kbd>^F</kbd> (extract archive)
- <kbd>^L</kbd> (refresh)
- <kbd>^G</kbd> (quit nnn and change dir)
- <kbd>^X</kbd> (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
-------------------------------------------------------------------------------