CHANGELOG (45030B)
1 nnn v4.4 Tequila 2 2021-11-23 3 4 - support macOS iterm2 in plugin preview-tui (#1196) 5 - use selection at native command prompt with `%j` and `%J` 6 - docs - https://github.com/jarun/nnn/wiki/concepts#special-variables 7 - scroll strings longer than columns in rename/new prompts (#1213, #279) 8 - batch rename symlink targets in listing mode (#1214) 9 - option for recursive rename in plugin .nmv (#1186) 10 - more frequent checks for cancellation during du (#1236) 11 - picker mode: enable auto-proceed 12 - picker mode: don't pick hovered file on <kbd>Enter</kbd> if selection exists 13 - picker mode: fix issue in plugin `fzopen` when used to pick files 14 - send file to explorer FIFO on double left click instead of opening it 15 - new neovim plugin [nnn.nvim](https://github.com/luukvbaal/nnn.nvim) 16 - nvim-only, featuring explorer mode (`-F` flag) 17 - explorer mode for [nnn.vim](https://github.com/mcchrish/nnn.vim#explorer) 18 - remove option `-w`: always place HW cursor on current entry 19 - accept link name when linking a single target (#1201) 20 - option `-i` to show current file information in info bar 21 - force GNU sed on *BSD and Solaris 22 - add `nsxiv` support to nuke, preview-tabbed and imgview (#1230) 23 - fix preview-tui without `-a` (#1208) 24 - pass `pts` in env var for preview-tui to use in `tput` (#1235) 25 - disable editing file in picker mode (#1183) 26 - save session in picker mode (#1190) 27 - use nerd icons for gitstatus patch (#1220) 28 29 ------------------------------------------------------------------------------- 30 31 nnn v4.3 Martini 32 2021-09-29 33 34 - cool ASCII art logo in the help screen 35 - add `bookmarks` directory for flexible symlinked bookmarks 36 - new key <kbd>B</kbd> to add a symlinked bookmark for current dir 37 - special variables `$dN`, `$fN` available for plugins/prompt/shell to access 38 dir/hovered file in each conext 39 - config `NNN_ORDER` to set directory-specific ordering 40 - show/hide hidden files as per context state in plugin based batch rename 41 - retain search filter history for plugin `finder` 42 - sync multiple instances of `nnn` after operation on selection 43 - signal CWD change to terminal via OSC-7 (#1147) 44 - save complete per-context filter when saving sessions 45 - disable symlink resolution for paths in `NNN_BMS` and arg `PATH` 46 - do not end selection mode on running plugins/prompt/shell 47 - plugin `bookmarks` replaced by symlinked bookmarks support 48 - list open locations in active contexts in help page 49 - make option `O_MATCHFLTR` to discard filter key if no match 50 - configurable `NNN_TMPFILE` to _cd on quit_ 51 - disable auto marking directories (use <kbd>-</kbd>) 52 - picker mode improvements 53 - open tty for input if `STDIN` is non-tty 54 - truncate output file before writing 55 - do not double select a file on <kbd>Enter</kbd> 56 - legacy macOS (< 10.12.0) support 57 - no redraw during du calculation, show processed dir name 58 - plugin `xdgdefault`: add dmenu support 59 - user patch `restorepreview`: close/restore `preview-tui` for internal edits 60 61 ------------------------------------------------------------------------------- 62 63 nnn v4.2 Mojito 64 2021-07-21 65 66 - `NNN_PLUG` indicator symbol interpretation has **changed**: 67 - `!` - _run-cmd-as-plugin_ (earlier `_`) 68 - `&` - _run-gui-cmd-as-plugin_ (earlier `|`) 69 - `|` (new) - page noninteractive _run-cmd-as-plugin_ output 70 - persistent selection markers (#1086) 71 - option _extract to..._ for archives 72 - mount remote and mount/extract archive to a smart context 73 - confirm file trashing to avoid accidental press of <kbd>x</kbd> (#1101) 74 - insert the last command executed at prompt on <kbd>Up</kbd> or <kbd>Down</kbd> 75 - insert the current file name at empty prompt on <kbd>TAB</kbd> 76 - handle redraw issue on missed `KEY_RESIZE` (#1067) 77 - add force-tty capability to spawn and set pagers to it (#1064) 78 - clear selection mode on deselecting last selected file (#1098) 79 - remove selected hovered entry from selection on deletion 80 - disable filtering in empty directories 81 - ignore last pressed filter character when no matches 82 - fix broken screen on resize while paging (#1072) 83 - fix archive not hovered on creation 84 - remove libgit2 dependency in `gitstatus` patch (#1095) 85 - add `-G` flag for `gitstatus` patch 86 - option `-X` for explorer (persistent picker) mode 87 - option `-F` decommissioned in favour of config `NNN_HELP` 88 - `-F` redefined to multiplex `NNN_FIFO` to preview or explore 89 - support paging noninterative _run-cmd-as-plugin_ output 90 - `nuke` - add option to execute binaries (#1111) 91 - plugin `fzopen` - call `open` on macOS, add option to use `nuke` 92 - plugin `fzcd` will not modify selection 93 - plugin `suedit` - preserve environment 94 - several `preview-tui` fixes 95 - plugin `wall` renamed to `wallpaper` 96 - remove plugin `fzz` - merged into plugin `autojump` 97 - remove plugin `upgrade` - packaging is on OBS now 98 - remove plugin `treeview` - needs minor `preview-tui` tweak 99 - remove plugin `picker` - `nnn -p -` does the same 100 - remove plugin `pdfview` - needs simple change in `pdfread` 101 - remove plugin `uidgid` - use program option `-U` 102 - remove plugins `mediainf`, `hexview` - simple one-liners 103 104 ------------------------------------------------------------------------------- 105 106 nnn v4.1.1 Sake 107 2021-06-03 108 109 - fix segfault on session save (#1041) 110 - remove redundant `_Atomic` usage 111 - move [`patches`](../tree/master/patches) directory to top-level 112 - fix and cleanup gitstatus patch 113 - plugin `imgview` improvements (#1049) 114 - restore source-code packing on CircleCI 115 - add Makefile target to compile with musl 116 117 ------------------------------------------------------------------------------- 118 119 nnn v4.1 120 2021-06-02 121 122 - a patch management model for approved patches 123 - multi-threaded disk usage calculation using pthreads and FTS 124 - dynamic view update when calculating disk usage 125 - <kbd>Bksp</kbd>/<kbd>Del</kbd> at empty filter prompt to refresh dir 126 - Try to create new context with <kbd>Shift-TAB</kbd>, else reverse cycle 127 - <kbd>Alt+Esc</kbd> to quit context from filter prompt 128 - fix zombies left behind after running plugins (#999) 129 - named persistent sessions (mcchrish/nnn.vim#43) 130 - consider nanosecond resolution when sorting by time (#978) 131 - check external selection in `'c'urrent / 's'el` prompt (#976) 132 - show number of files selected in local selection buffer, if any 133 - `nnn` & picker plugin (e.g. `fzopen`) sync (mcchrish/nnn.vim#82) 134 - make batch rename interactive (#971) 135 - cached uid/gid for performance improvement 136 - fixes for `nnn` with `netbsd-curses`, `musl-fts`, `musl` (#998) 137 - script to statically compile `nnn` with `musl gcc` on Ubuntu 138 - restore hovered file when plugin is chosen from plugin dir 139 - support QuickLook on WSL in `preview-tui` (#959) 140 - toggle `preview-tui` with the same _custom_ plugin key 141 - smoother preview toggling in `preview-tui` (#966) 142 - `listen_on` should be set in kitty.conf for `preview-tui` (#970) 143 - minimal `bat` style in `preview-tui`, honors `$BAT_STYLE` 144 - plugin `preview-tui-ext` supersedes `preview-tui` (#1033) 145 - plugin `fzcd` can now fuzzy search multiple directories 146 - plugin `imgview` supersedes `imgthumb` and `vidthumb` 147 - plugin `umounttree`: unmount remote mntpoint from within 148 - plugin `xdgdefault`: set the default app for hovered file type 149 - plugin `fzplug`: fuzzy find, preview and run other plugins 150 - plugin `cmusq`: queue/play music in `cmus` 151 - plugin `mocplay` renamed to `mocq` 152 - plugin `cleanfilename` renamed to `fixname` 153 - go to last dir on <kbd>~</kbd> (HOME) or <kbd>`</kbd> (ROOT) key repeat 154 - ambiguous key <kbd>^Space</kbd> to select/clear range dropped (#998) 155 - user wiki page for [Themes](https://github.com/jarun/nnn/wiki/Themes) 156 - show selection mark (`+`) in reverse bold for improved visibility 157 - reverse block replaces `>` to mark hovered entry in detail mode 158 - make option `O_CKBOARD` removed 159 - make option `O_NOLOC` renamed to `O_NOLC` 160 - ignore `O_NOLC` if `O_ICONS` or `O_NERD` is specified (#1026) 161 - unicode arrow indicators if `O_ICONS` or `O_NERD` is specified 162 - make option `NOX11`: disable notis, sel-clipboard sync, xterm title 163 - retain filter in _nav-to-type_ mode after file open 164 - fix no files picked with `NNN_TMPFILE` exported and <kbd>q</kbd> to quit 165 - disable xterm title setting in picker mode (#974) 166 167 ------------------------------------------------------------------------------- 168 169 nnn v4.0 Sushi 170 2021-04-13 171 172 - show xterm title on option `-x` 173 174 ------------------------------------------------------------------------------- 175 176 nnn v3.7 177 2021-04-13 178 179 - allow plugins to clear selection (#884, #889, #917) 180 - do not clear selection on hovered file deletion 181 - resurrect `'c'urrent/'s'el` prompt and option `-u` (#889) 182 - show only file name in reverse in detail mode 183 - more file/mime types supported in `preview-tui-ext` 184 - plugin `mtpmount` - (un)mount MTP devices 185 - plugin `cleanfilename` - more shell-friendly file names 186 - plugin `rsynccp` - copy-paste with visual progress 187 - replace `$HOME` by `~` in address bar 188 - show current path in terminal title (#911) 189 - total links and inode number of hardlink in statusbar 190 - fix symlink to text file not opening in CLI editor (#890) 191 - fix symlink size shown as 0B in statusbar (#888) 192 - show symlink target in statusbar (#893) 193 - show correct disk free/total on macOS (#888) 194 - fix directory disk usage showing as 0 on macOS (#941) 195 - fix name col len with `-C` and icons compiled-in (#936) 196 - refactor printing entries in light/detail modes (#934) 197 - make option `O_CKBOARD` for checker board as indicator 198 199 ------------------------------------------------------------------------------- 200 201 nnn v3.6 Nina 202 2021-03-16 203 204 - REPL command prompt (<kbd>Esc</kbd> or <kbd>Enter</kbd> to exit) 205 - invert selection with <kbd>A</kbd> 206 - option `-u` removed (always prefer selection to hovered) 207 - visit start dir on <kbd>@</kbd> when start path is a file 208 - exit filter mode and redraw on <kbd>^L</kbd> if no last filter 209 - plugin `fzcd` now selects the chosen file (#876) 210 - `ueberzug` support in plugin `preview-tui` 211 - new plugin `preview-tui-ext` with extra preview support 212 - clear selection after successful plugin invocation 213 - add method to sync subshell `$PWD` in WIki 214 - clear selection on single file deletion (#812) 215 - copy between instances not working (#864) 216 - plugin `togglex` to toggle exe mode of a selection (#813) 217 - fix `memccpy()` buffer overlap fault on macOS (#786) 218 - show `0 selected` msg on cp/mv with empty selection (#855) 219 - fix frozen terminal caused by opener (#858) 220 - migrate macOS CI to GitHub workflows, retire Travis 221 222 ------------------------------------------------------------------------------- 223 224 nnn v3.5 Freddie 225 2020-11-17 226 227 - compile-in Alexey Tourbin's QSORT macro 228 - support Nerd Font patched icons [`make O_NERD=1`] 229 - auto-generate static binaries with icons support 230 - audit and adapt all plugins for macOS 231 - enhance plugin `dups` to delete duplicates interactively 232 - plugin `autojump` now supports `jump` and `zoxide` 233 - support `gio trash` to Trash [`export NNN_TRASH=2`] (#740) 234 - quit program on double <kbd>Esc</kbd> in normal mode (#775) 235 - <kbd>^Space</kbd> replaces <kbd>^K</kbd> for range selection/clear selection 236 - show selection symbol (`+`) next to filename in detail mode (#741) 237 - error & quit on <kbd>Q</kbd> if no selection, else pick to stdout 238 - repeat <kbd>^T</kbd> to cycle sort by time, size and clear 239 - option `-U` to show user & group info in status bar 240 - option `-J` to disable auto-proceed on select (#713) 241 - option `-D` to show dirs in context color with `NNN_FCOLORS` 242 - honor option `-C` for context colors 243 - show indicators if more entries above/below listing (#744) 244 - show missing utility name in flash msg (#753) 245 - exit `preview-tabbed` on <kbd>^C</kbd> (#727) 246 - invoke GNU sed (_gsed_) on macOS (#728) 247 - fix HW cursor moves to wrong line (#735) 248 - fix rollover bug with multiline scroll (#743) 249 - fix input stream not listed with `-s`/`-S` (#777) 250 - fix locker not being invoked 251 - make target `upx` for additional binary compression 252 - compress auto-generated static binaries with upx 253 - make variable `O_NOSSN` to compile out sessions 254 - make variable `O_NOUG` to compile out user & group info 255 256 ------------------------------------------------------------------------------- 257 258 nnn v3.4 Emilia 259 2020-08-18 260 261 - icons with icon-specific colors (thanks @KlzXS) 262 - enhanced `NNN_COLORS` with xterm 256 colors support 263 - new colorscheme with `NNN_FCOLORS` (file type specific colors) 264 - switch `-C` to force earlier colorscheme (dirs follow context color) 265 - updates for Haiku (thanks @CodeforEvolution) 266 - fix XFS navigation issue (thanks @ucs1) 267 - optimize archive extension matching on file open 268 - show location in context color 269 - support `host[:dir]` format for remote mounts 270 - clear selection after copy 271 - support traversal on file/dir creation 272 - show selection in reverse in status bar 273 - show status bar indicator `H` when hidden files are listed 274 - show and confirm archive command output 275 - support _cd on quit_ in picker mode 276 277 ------------------------------------------------------------------------------- 278 279 nnn v3.3 280 2020-07-14 281 282 - subdir `mounts` for remote and archive mounts 283 - remove mount point on successful unmount of remote/archive 284 - show error and prompt user if `cp`/`mv`/`rm` operation fails 285 - support absolute/relative paths in cp/mv as 286 - mark current path automatically on archive/remote mount 287 - mark current path automatically on target file visit in _find and list_ mode 288 - option `-C` to place HW cursor on hovered for screen readers and braille displays 289 - option `-u` to use selection (if available) and skip `current/sel` prompt 290 - key <kbd>Alt+Esc</kbd> to clear filter prompt and redraw 291 - support <kbd>Esc</kbd> to cancel remove operation 292 - `gpge` & `gpgd`: encrypt and decrypt with GPG 293 - `blknew`: create new files and directories in bulk 294 - `preview-tui` 295 - unified to support `tmux`/`kitty`/`xterm`/`$TERMINAL` 296 - auto-determine split orientation based on terminal height and width 297 - provision to use [`scope.sh`](https://github.com/ranger/ranger/blob/master/ranger/data/scope.sh) and [`pistol`](https://github.com/doronbehar/pistol) 298 - various other improvements 299 - `upload`: send to Firefox Send if [`ffsend`](https://github.com/timvisee/ffsend) is found 300 - `hexview`: add [`hx`](https://github.com/krpors/hx) as alternative hex viewer 301 - `nuke` and `imgview`: add [`imv`](https://github.com/eXeC64/imv) as alternative image viewer 302 - add find (with `fd`) and grep (with `rg`) examples in plugins doc 303 - key <kbd>Esc</kbd> or left click to resend hovered file path to `NNN_FIFO` 304 - show `+` instead of `s` in status bar on selection 305 - <kbd>F5</kbd> removed (misfit for toggle hidden), <kbd>^S</kbd> removed (often masked, redundant) 306 - handle abnormal program termination and remove NNN_PIPE and/or NNN_FIFO 307 - clear selection after successful batch rename, link creation 308 - make option `O_CTX8` for 8 contexts (NOT backward compatible with 4 contexts) 309 - fix issue with child window resize (see #656) 310 - fix issue with `NNNLVL` on macOS (see #639) 311 - fix issue with restoring session with du/au enabled 312 313 ------------------------------------------------------------------------------- 314 315 nnn v3.2 316 2020-05-26 317 318 - an official logo 319 - previews 320 - config `NNN_FIFO` to write hovered file paths a previewer can read 321 - plugin `preview-tabbed`: [tabbed](https://tools.suckless.org/tabbed)/xembed based file previewer 322 - plugin `preview-tui`: simple TUI file previewer in tmux/xterm 323 - plugin `preview-kitty`: preview using kitty terminal's capabilities 324 - [live preview](https://github.com/jarun/nnn/wiki/Live-previews) configuration example 325 - find & list 326 - send list of files from (cmd run as) plugin to `nnn` 327 - plugin `finder`: find/fd/fzf/grep/ripgrep/fzf (in subtree) and list in `nnn` 328 - <kbd>Right</kbd> or <kbd>l</kbd> on symlink in list dir takes to target file 329 - persistent session option `-S` [for disk usage, run `nnn -T d` (see help)] 330 - hover on the file when a file path is passed as positional argument 331 - go to first file or match with <kbd>'</kbd> (followed by <kbd>'</kbd> or <kbd>char</kbd>) 332 - config `NNN_SEL` to specify custom selection file 333 - config `NNN_LOCKER` to specify locker program 334 - dim file details in detail mode 335 - call `chdir()` on directory change 336 - option `-l`: number of lines to move on mouse scroll 337 - graphical [keybind map](https://github.com/jarun/nnn/wiki/Usage#graphical-map) 338 - let `NNN_COLORS` override `NO_COLOR` 339 - plugins 340 - option `-P`: run plugin by key at start 341 - run plugins with <kbd>Alt+key</kbd> 342 - allow `NNN_PIPE` usage by commands run as plugin 343 - input format to `NNN_PIPE`: `<ctxcode><opcode><data>` (see plugins doc) 344 - set `ctxcode` to `+` for smart context usage (next inactive, else current) 345 - `getplugs` to fetch plugins by installed version of `nnn` 346 - plugin `mimelist`: list files by mime type in subtree 347 - plugin `bookmarks`: named bookmarks using symlinks 348 - plugin `nbak`: backup `nnn` config 349 - `nuke` adds lowdown as alternative markdown viewer 350 - several plugin improvements 351 - fix broken screen on resize (see #520) 352 - fix broken version sort (see #550) 353 - fix list and pipe modes not working together 354 - fix multiple issues with listing files 355 - fix `@` shown in detail mode for symlink to dir 356 - fix listing files directly under `/` 357 - move to `-std=c11` 358 359 ------------------------------------------------------------------------------- 360 361 nnn v3.1 362 2020-04-13 363 364 - unlimited bookmarks and plugin keys 365 - status bar text in context color 366 - support config `NO_COLOR` to disable colors 367 - config `NNN_OPTS` to specify binary options to `nnn` 368 - config `NNN_MCLICK` to emulate configurable key 369 - toggle selection on right click 370 - ignore hard links when calculating disk usage 371 - dim (hard/sym) link names (symlink to file has `@`) 372 - more special keys at empty filter prompt in _type-to-nav_ 373 - key <kbd>></kbd> to export file list 374 - option `-F` to show fortune in help and settings screen 375 - option `-T` to specify sort order (obsoletes `-v`) 376 - option to clear sort order 377 - key <kbd>T</kbd> to change time type (access/change/mod) 378 - `.nmv` - internal fully-functional batch renamer plugin 379 - make var `O_NOBATCH` to disable native batch renamer 380 - `nuke` & `imgview` - open all images in directory sxiv 381 - `nuke` - open log files in vi 382 - plugin `x2sel` - system clipboard to selection copier 383 - plugin `fzy` - cd using z database 384 - plugin `fzopen` - support `FZF_DEFAULT_COMMAND` 385 - create new context on TAB without prompt 386 - hover and connect by dir name (within config dir) 387 - move to next entry on current file delete 388 - on single file copy/move, select the copied/moved file 389 - option `-f` to use readline history file (off by default) 390 - use `s` in status bar to indicate selection in progress 391 - make var `O_NOMOUSE` to disable mouse support 392 - do not store `NNN_TRASH` and `-Q` in config/session 393 - add sample .desktop file for XDG compatible DEs 394 - rename _nav-as-you-type_ to _type-to-nav_ mode 395 - fix PCRE case-insensitive regex search 396 - fix no error msg when filter length limit exceeded 397 - fix static package generation 398 - fix broken abort message when started in du-mode 399 - fix filter lost on context switch in non _type-to-nav_ mode 400 - fix broken readline prompt 401 - fix long strings treated as action keys in filter prompt 402 - fix `NNNLVL` not reset when spawned shell is exited 403 404 ------------------------------------------------------------------------------- 405 406 nnn v3.0 407 2020-02-12 408 409 - take list of files as input and show 410 - option `-e` replaces `NNN_USE_EDITOR` 411 - option `-t` replaces `NNN_IDLE_TIMEOUT` 412 - PCRE support 413 - more readline bindings for native prompts 414 - run GUI app as plugin 415 - attempt lazy unmount when regular unmount fails 416 - fix unmount on macOS: use `umount` 417 - detect `sshfs` and `rclone` to prompt intelligently 418 - auto-proceed on file open (toggle key <kbd>+</kbd>) 419 - quit with error code on <kbd>Q</kbd> 420 - additional key <kbd>F5</kbd> to toggle hidden 421 - key <kbd>e</kbd> to edit in EDITOR (back on multiple user requests) 422 - option to edit list of files in selection is changed to <kbd>E</kbd> 423 - do not end selection on redraw 424 - `nuke`: [`glow`](https://github.com/charmbracelet/glow) as Markdown viewer 425 - `nuke`: refactor, handle some common video types by extension 426 - file name removed from status bar 427 - static Makefile target 428 - generate, upload static package on release 429 - fix crash on entering empty dir, then Down 430 - fix keypresses lost when showing message 431 - fix #227: `nnn` creates xdg-open zombies 432 433 ------------------------------------------------------------------------------- 434 435 nnn v2.9 436 2020-01-15 437 438 - all keybinds and options reviewed by the team and frozen (see #422) 439 - reduced number of keybinds 440 - greatly improved help screen readability 441 - `nuke`: sample opener (CLI-only by default) and plugin 442 - fast line redraws instead of full screen refresh (thanks @annagrram) 443 - auto archive handling by extension (see config `NNN_ARCHIVE`) 444 - Lead key simplified to bookmark key (<kbd>b</kbd> or <kbd>^/</kbd>) 445 - single key to toggle order (<kbd>t</kbd> or <kbd>^T</kbd>) 446 - plugins 447 - `.cbcp`: copy selection to system clipboard (internal, program option `-x`) 448 - `.ntfy`: show noti on cp, mv, rm completion (internal, program option `-x`) 449 - `autojump`: navigate using autojump 450 - `upload`: paste text files to http://ix.io, upload rest to https://file.io 451 - all fuzzy plugins modified to support both `fzf` and `fzy` 452 - more control on plugins 453 - prefix `-` to skip directory refresh after running (cmd as) plugin 454 - suffix `*` to skip confirmation after running cmd as plugin 455 - indicate range selection mode with `*` 456 - list keys at bookmark and plugin key prompts 457 - visit to pinned dir like bookmarks (Bookmark key followed by <kbd>,</kbd>) 458 - toggle executable (key <kbd>*</kbd>) 459 - show mime along with file details 460 - more special keys at empty filter prompt: 461 - apply the last filter (<kbd>^L</kbd>) 462 - toggle between string and regex (<kbd>/</kbd>) 463 - toggle case-sensitivity (<kbd>:</kbd>) 464 - retain filter on <kbd>Esc</kbd>, <kbd>Up</kbd>, <kbd>Down</kbd> 465 - show filter details when filter is on 466 - remove option to run filter as cmd on prompt key (can be disruptive) 467 - program options 468 - option `-x`: enable notis and copy selection to system clipboard 469 - option `-g`: regex filters (string filter is default now) 470 - option `-Q`: quit program without confirmation 471 - option `-s`: load session 472 - option `-n`: start in nav-as-you-type mode 473 - option `-v`: version sort 474 - option `-V`: show program version 475 - option `-A`: disable dir auto-select 476 - ISO 8601 compliant date in status bar 477 - ported to Haiku OS (thanks @annagrram) 478 - sort only filtered entries (to avoid directory refresh) 479 - fix `getplugs` to install hidden files 480 - fix several selection issues (see #400) 481 - fix detail mode not restored on loading session 482 - fix symlink to directory not auto-selected 483 - fix regex error on partial regex patterns 484 - fix symlink not shown if `stat(2)` on target fails 485 - fix flags when spawning a CLI opener as default FM 486 - fix issue with stat flag on Sun (no support for `dirent.d_type`) 487 - fix current file in current context not saved correctly in session 488 - signed source distribution on release 489 - simplified debugging with line numbers in logs 490 491 ------------------------------------------------------------------------------- 492 493 nnn v2.8.1 494 2019-12-05 495 496 - Fix always archiving current file 497 - More elaborate docs on selection changes 498 499 ------------------------------------------------------------------------------- 500 501 nnn v2.8 502 2019-12-04 503 504 - sessions (thanks @annagrram) 505 - `rclone` support for remote access (mount _any_ cloud storage!!!) 506 - toggle selection with <kbd>Space</kbd> or <kbd>^J</kbd> 507 - ignore events during selection so the `+` symbol is not lost 508 - run custom (non-shell-interpreted) commands like plugins 509 - configure _cd-on-quit_ as the default behaviour 510 - create parent dirs for new files and dirs, duplicate a file/dir anywhere 511 - _copy/move as_ workflow (thanks @KlzXS) 512 - edit , flush selection buffer (thanks @KlzXS) 513 - support xargs with minimal options (as in BusyBox) (thanks @KlzXS) 514 - changed the key to size sort to <kbd>z</kbd> 515 - additional key <kbd>]</kbd> to show command prompt 516 - mount archives using `archivemount` 517 - smoother double click handling 518 - program option `-R` to disable rollover at edges 519 - keybind collision checker (for custom keybind config) (thanks @annagrram) 520 - show size of file in bytes in status bar in disk usage mode 521 - pass unresolved path as second argument (`$2`) to plugin 522 - mechanism for plugins to control active directory 523 - all binary questions are confirmed by <kbd>y</kbd> or <kbd>Y</kbd> 524 - plugins 525 - some plugins renamed 526 - integrated `shellcheck` in CI, POSIX-compliance fixes (thanks @koalaman) 527 - `getplugs` - detect modifications in exiting plugin file (thanks @KlzXS) 528 - `drag-file` & `drop-file`: drag & drop files using dragon 529 - `gutenread`: browse, download and read from Project Gutenberg 530 - `suedit` - edit file with superuser permissions 531 - `fzhist` - fuzzy select commands from history, edit and run 532 - `fzcd` - change to a fuzzy-searched directory 533 - `rename` - batch rename directory or selection using qmv or vidir 534 - `pskill` - fuzzy list a process or zombies by name and kill 535 - `exetoggle` - toggle executable status of hovered file 536 - `treeview` - informative tree output with file permissions and size 537 - `chksum` - recursively calculate checksum for files in hovered directory 538 - `fzopen` renamed to `fzopen` 539 - `imgsxiv` instructions added to browse and rename images 540 - create link to current file 541 - additional key <kbd>;</kbd> to execute plugin 542 - more explicit force removal message 543 - force non-detachable internal edits in $EDITOR (option `-E`) 544 - export current file as `$nnn` (instead of `$NN`) 545 - fix file open failure from browser when configured as default FM 546 547 ------------------------------------------------------------------------------- 548 549 nnn v2.7 550 2019-10-06 551 552 - plugins for image preview, image and video thumbnails 553 - redesigned selection workflow 554 - drop path prefix for files in current dir for selection based archives 555 - custom direct keybinds for plugins 556 - libreadline `.history` file moved to `nnn` config directory 557 - export current entry as `$NN` at command prompt 558 - more informative status bar in light/detail modes 559 - auto-proceed to next file on single file select 560 - path clipping for long paths 561 - completely revamped wiki 562 - new program options: 563 - `-a` to use file access time throughout the program 564 - `-c` to indicate cli-only opener 565 - `-f` to run filter as command on <kbd>^P</kbd> 566 - `-o` replaces config `NNN_RESTRICT_NAV_OPEN` 567 - `-t` replaces config `NNN_NO_AUTOSELECT` 568 - `-r` replaces config `NNN_OPS_PROG` 569 - plugin changes: 570 - `vidthumb` - show video thumbnails in terminal 571 - `mediainf` - show media info (decoupled as a plugin) 572 - `notes` - open a quick notes file/dir in `$EDITOR` (decoupled as a plugin) 573 - `dups` - list duplicate files in the current directory 574 - `oldbigfile` - list large files by access time 575 - `moclyrics` - show lyrics of the track currently playing in MOC 576 - `uidgid` list uid and gid of files in directory 577 - `mocplay` - now detects if a track is playing or not 578 - `organize` - categorize files and move to respective directories 579 - `pastebin` - now uses ix.io paste service 580 - `fzy-edit` - merged into `fzy-open` 581 - `viuimg` - fix directory view 582 - `checksum` - fixed POSIX compliance issues 583 - `boom` - play music in MOC 584 - keybind changes: 585 - select entry: <kbd>Space</kbd> and <kbd>^J</kbd> 586 - select range (or clear selection): <kbd>m</kbd> and <kbd>^K</kbd> 587 - select all in dir: <kbd>a</kbd> 588 - list selection: <kbd>M</kbd> 589 - <kbd>^N</kbd> replaces <kbd>^T</kbd> to toggle _nav-as-you-type_ 590 - <kbd>Shift TAB</kbd> to reverse context cycle 591 - <kbd>'</kbd> to jump to first file in dir 592 - <kbd>S</kbd> for du, <kbd>A</kbd> for apparent du 593 - additional key <kbd>:</kbd> to run plugin 594 - additional key <kbd>F2</kbd> to rename file 595 - additional key <kbd>F5</kbd> to redraw 596 - quit context key <kbd>Leadq</kbd> is removed 597 - Leader key combinations: 598 - <kbd>Lead'</kbd> to jump to first file in dir 599 - <kbd>Lead]</kbd> go to next active context 600 - <kbd>Lead[</kbd> go to prev active context 601 - <kbd>Lead.</kbd> toggle show hidden files 602 - improved duplicate file workflow 603 - improved batch rename workflow when a selection exists 604 - removed the wild load option (`-w`) 605 - removed quick notes (added plugin `notes`) 606 - fix #225 (thanks @KlzXS) 607 - fix `tar`/`bsdtar` always creating tar archives (and not by suffix) 608 - fix single mouse click to select file not working 609 - fix symlink to dir removed on batch rename 610 - fix detail mode not set with program option `-S` 611 612 ------------------------------------------------------------------------------- 613 614 nnn v2.6 615 2019-08-06 616 617 - new plugins 618 - view image or browse a directory of images in terminal 619 - show image thumbnails 620 - PDF and text file reader 621 - calculate and verify checksum of selection or file 622 - append (and play) selection/dir/file music in MOC 623 - variable bitrate mp3 ringtone generator 624 - split current file or join selection 625 - better experience on Termux (and touch based devices) 626 - mouse scrolling support (with ncursesw6.0 and above) 627 - tap/left click to visit parent, toggle nav-as-you-type mode 628 - light mode set as default 629 - show status bar and use reverse video in light mode 630 - changed program options 631 - `-d`: detail mode 632 - `-H`: show hidden files 633 - `-l` is retired 634 - support `XDG_CONFIG_HOME` 635 - support <kbd>/</kbd> as an additional Leader key when filter is on 636 - sort by file extension 637 - use zip/unzip/tar if atool/bsdtar not found 638 - support duplicate file (key <kbd>^R</kbd>, same as rename file) 639 - new config option `NNN_SSHFS_OPTS` to specify `sshfs` options 640 - restrict opening 0 byte files (`NNN_RESTRICT_0B` is obsolete) 641 - critical defects fixed 642 - fix #276 - crash with variable length inotify event handling 643 - fix #285 - hang after deleting/moving current directory 644 - fix #274 - a broken prompt on empty input with libreadline 645 - fix #304 - list selection from another instance 646 - `cmatrix` as locker fallback 647 - wait for user input after running a command from prompt 648 - scrolloff set to 3 from 5 649 650 ------------------------------------------------------------------------------- 651 652 nnn v2.5 653 2019-05-27 654 655 - mouse support 656 - new location for config files - `~/.config/nnn` 657 - plugin dir location: `~/.config/nnn/plugins` 658 - selection file `.nnncp` is now `~/.config/nnn/.selection` 659 - plugins: 660 - pdfview: view a PDF in pager 661 - nmount: (un)mount a storage device 662 - ndiff: file and directory diff for selection 663 - hexview: view a file in hex 664 - imgresize: batch resize images to desktop resolution 665 - ipinfo: check your IP address and whois information 666 - transfer: upload a file to transfer.in 667 - pastebin: paste the contents of a text file to paste.ubuntu.com 668 - boom: play random music from a directory 669 - nwal: set an image as wallpaper using nitrogen 670 - pywal: set selected image as wallpaper, change terminal color scheme 671 - getplugs: update plugins 672 - SSHFS support 673 - support `bsdtar`, simplify `patool` integration 674 - native batch rename support (`vidir` dependency dropped) 675 - changes to support [configuration](https://github.com/jarun/nnn/wiki/nnn-as-default-file-manager) as the default file manager 676 - per-context detail/light mode 677 - case-insensitive version compare 678 - shortcut to visit `/` - <kbd>`</kbd> (backtick) 679 - vim-like scrolloff support 680 - <kbd>^D</kbd> & <kbd>^U</kbd>: scroll half page, <kbd>PgDn</kbd> & <kbd>PdUp</kbd>: scroll full page 681 - fix selection across contexts 682 - recognize <kbd>Home</kbd> and <kbd>End</kbd> keys at prompt for editing 683 - fix broken program option `-b` 684 - POSIX-compliant user-scripts (wherever possible) 685 - `NNN_SCRIPT` is retired (replaced by plugins) 686 687 ------------------------------------------------------------------------------- 688 689 nnn v2.4 690 2019-03-19 691 692 - FreeDesktop.org compliant trashing 693 - mark selected entries with `+` 694 - _wild_ mode (option `-w`, key <kbd>^W</kbd>) for _nav-as-you-type_ 695 - POSIX-compliant GUI app launcher with drop-down menu (key <kbd>=</kbd>) 696 - new scripts: 697 - upload image to imgur 698 - send selection to Android using kdeconnect-cli 699 - show permissions in detail mode 700 - cp, mv progress bar for Linux (needs advcpmv) [BSD, macOS shows on <kbd>^T</kbd>] 701 - make libreadline an optional dep (reduces memory usage) 702 - minimize the number of redraws 703 - handle screen resize gracefully 704 - option `-d` to show hidden files (`NNN_SHOW_HIDDEN` is removed) 705 - additional key <kbd>K</kbd> to toggle selection 706 - change visit start dir key to <kbd>@</kbd> 707 - option `-C` to disable colors removed 708 - per-context initial directory replaced by program start dir 709 - marker msg when spawning new shell removed 710 - rename debug file to `nnndbg` 711 712 ------------------------------------------------------------------------------- 713 714 nnn v2.3 715 2019-02-19 716 717 - file picker mode 718 - repo of user-contributed scripts 719 - substring search for filters (option `-s`) 720 - version sort (option `-n`) 721 - disk usage calculation abort with <kbd>^C</kbd> 722 - create sym/hard link(s) to files in selection 723 - archiving of selection 724 - show dir symlinks along with dirs in top 725 - fixed CJK character handling at prompts 726 - key `N` (1 <= N <= 4) to switch to context N 727 - bring back `NNN_OPENER` to specify file opener 728 - env var `NNN_NOTE` and keybind <kbd>^N</kbd> for quick notes 729 - handle multiple arguments in VISUAL/EDITOR 730 - show the current directory being scanned in `du` mode 731 - select all files (<kbd>Y</kbd>) 732 - show command prompt (<kbd>^P</kbd>) 733 - key <kbd>,</kbd> replaces <kbd>`</kbd> as alternative Leader Key 734 - keybind for visit pinned directory is now <kbd>^B</kbd> 735 - additional key <kbd>^V</kbd> to run or select custom script 736 - use libreadline for command prompt 737 - reduce delay on <kbd>Esc</kbd> press 738 - config option to avoid unexpected behaviour on 0-byte file open (see #187) 739 - rename config option `DISABLE_FILE_OPEN_ON_NAV` to `NNN_RESTRICT_NAV_OPEN` 740 - keys removed - <kbd>$</kbd>, <kbd>^</kbd>, <kbd>Backspace</kbd>, <kbd>^H</kbd>, <kbd>^P</kbd>, <kbd>^M</kbd>, <kbd>^W</kbd>, <kbd>`</kbd> 741 742 ------------------------------------------------------------------------------- 743 744 nnn v2.2 745 2019-01-01 746 747 What's in? 748 - (neo)vim plugin [nnn.vim](https://github.com/mcchrish/nnn.vim) 749 - macOS fixes 750 - Fix issues with file copy, move, remove 751 - Handle <kbd>Del</kbd> in rename prompt 752 - Pass correct `file` option to identify mime 753 - Support selection across directories and contexts 754 - Offer option `force` before file remove 755 - Keys <kbd>Tab</kbd>, <kbd>^I</kbd> to go to next active context 756 - Per-context directory color specified by `$NNN_CONTEXT_COLORS` 757 - Option `-c` is removed 758 - Option `-C` to disable colors 759 - Choose script to run from a script directory 760 - Run a command (or launch an application) 761 - Run file as executable (key <kbd>C</kbd>) 762 - Documentation on lftp integration for remote file transfers 763 - Support a _combined_ set of arguments to `$EDITOR`, `$PAGER` and `$SHELL` 764 - Handle > 2 GB files on 32-bit ARM 765 - Env var `$DISABLE_FILE_OPEN_ON_NAV` to disable file open on <kbd>Right</kbd> or <kbd>l</kbd> 766 - `NUL`-terminated file paths in selection list instead of `LF` 767 - Better support for Termux and Cygwin environments 768 - Remapped keys 769 - <kbd>^I</kbd> - go to next active context 770 - <kbd>^T</kbd> - toggle _navigate-as-you-type_ 771 772 ------------------------------------------------------------------------------- 773 774 nnn v2.1 775 2018-11-23 776 777 What's in? 778 - Inclusion in several distros including Arch Linux official repo 779 - Multiple contexts (_aka_ tabs _aka_ workspaces) [max 4] 780 - Copy, move, remove selected files, remove current file 781 - [Leader key](https://github.com/jarun/nnn#leader-key) (like vim) 782 - In-built GUI app launcher with up to 2 arguments (key <kbd>o</kbd>) 783 - List copy selection (key <kbd>y</kbd>) 784 - Env var `NNN_NO_AUTOSELECT` to disable dir auto-select 785 - Key <kbd>Esc</kbd> exits prompt, <kbd>^L</kbd> clears prompt 786 - Program runtime help revamped 787 - Static code analysis integration 788 - gcc-8 warnings fixed 789 - Remapped keys: 790 - <kbd>^W</kbd> - go to pinned dir 791 - <kbd>^X</kbd> - delete current entry 792 - <kbd>^Q</kbd> - quit program 793 - `nlay` is retired (functionality built into `nnn`) 794 - `chdir` prompt is retired 795 - Env var `NNN_NO_X` retired, selection now works out of the box 796 - Only single-char bookmark keys (to work with Leader key) 797 798 ------------------------------------------------------------------------------- 799 800 nnn v2.0 801 2018-10-19 802 803 What's in? 804 - Mode to show apparent size (key `S`) 805 - Script to integrate `patool` instead of `atool` 806 - Support `bashlock` (OS X) and `lock` (BSD) as terminal locker 807 - Symbol `@/` for symlink to dir 808 - Dependency on `libreadline` removed 809 810 ------------------------------------------------------------------------------- 811 812 nnn v1.9 813 2018-08-10 814 815 What's in? 816 - Support unlimited number of scripts 817 - Pass currently selected filename as first argument to custom scripts 818 - Support directory auto-select in _navigate-as-you-type_ mode 819 - Show selection name in archive name prompt 820 - Support Cygwin opener 821 - Better support on RHEL 25 with earlier version on curses 822 - Sample script for `fzy` integration 823 - Now available on OpenBSD 824 - Disabled package generation for Ubuntu 17.10 825 826 ------------------------------------------------------------------------------- 827 828 nnn v1.8 829 2018-05-02 830 831 What's in? 832 - Run a custom script 833 - Archive selected file/directory 834 - Show number of cherry-picked files in multi-copy mode 835 - Env var `NNN_SHOW_HIDDEN` to show hidden files by default 836 - Additional information in help screen 837 - Give preference to env var VISUAL, if defined, over EDITOR 838 - New/changed/remapped shortcuts 839 - <kbd>^]</kbd> - spawn a new shell in current directory 840 - <kbd>r</kbd> - edit directory entries in vidir 841 - <kbd>R</kbd> - run a custom script 842 - <kbd>^I</kbd> - toggle navigate-as-you-type mode 843 - <kbd>L</kbd> - lock the current terminal (Linux-only) 844 - All Ctrl shortcuts enabled in navigate-as-you-type mode 845 - Fix: GUI programs closing when parent terminal is closed 846 - Recognize `~`, `-` and `&` at bookmark prompt 847 - Recognize ruby (.rb) files as text files 848 - Efficient integer-only file size calculation 849 - Official inclusion on openSUSE and Fedora 850 - Package generation for Ubuntu 18.04 851 852 ------------------------------------------------------------------------------- 853 854 nnn v1.7 855 2018-02-28 856 857 What's in? 858 - Batch rename/move/delete files in vidir from [moreutils](https://joeyh.name/code/moreutils/) 859 - Copy multiple file paths 860 - Copy file paths when X is unavailable 861 - Optionally quote individual file paths with single quotes on copy 862 - Use ISO 8601 date format in file details 863 - New/changed/remapped shortcuts: 864 - <kbd>^B</kbd> - show bookmark prompt (replaces <kbd>b</kbd>) 865 - <kbd>b</kbd> - pin current dir (replaces <kbd>^B</kbd>) 866 - <kbd>^J</kbd> - toggle du mode 867 - <kbd>R</kbd> - batch rename files in vidir 868 - <kbd>^F</kbd> - extract archive (replaces <kbd>^X</kbd>) 869 - <kbd>^G</kbd> - quit nnn and change dir 870 - <kbd>^X</kbd> - quit nnn (replaces <kbd>^Q</kbd>) 871 - Extra shortcuts enabled in nav-as-you-type mode: 872 - <kbd>^K</kbd>, <kbd>^Y</kbd> (file path copy) 873 - <kbd>^T</kbd> (toggles quoted file path copy) 874 - <kbd>^R</kbd> (rename) 875 - <kbd>^O</kbd> (open with...) 876 - <kbd>^B</kbd> (show bookmark prompt) 877 - <kbd>^V</kbd> (visit pinned dir) 878 - <kbd>^J</kbd> (toggle du mode) 879 - <kbd>^/</kbd> (open desktop opener) 880 - <kbd>^F</kbd> (extract archive) 881 - <kbd>^L</kbd> (refresh) 882 - <kbd>^G</kbd> (quit nnn and change dir) 883 - <kbd>^X</kbd> (quit nnn) 884 885 ------------------------------------------------------------------------------- 886 887 nnn v1.6 888 2017-12-25 889 890 What's in? 891 - Shortcut `^O` to open file with custom application 892 - Option `-b` to open bookmarks directly at start 893 - Huge performance improvements around file name storing and handling 894 - Several large static buffers removed or reduced 895 - Several internal algorithms fine tuned for performance/resource usage 896 897 ------------------------------------------------------------------------------- 898 899 nnn v1.5 900 2017-10-05 901 902 What's in? 903 - File and directory creation (`n`) 904 - Env variable `NNN_NOWAIT` to unblock nnn when opening files (DE-specific) 905 - Show current entry number in status bar 906 - Support archive listing (`F`) and extraction (`Ctrl-X`) [using `atool`] 907 - Show correct file size on i386 for large files (> 2GB) 908 909 ------------------------------------------------------------------------------- 910 911 nnn v1.4 912 2017-09-04 913 914 What's in? 915 - Monitor directory changes 916 - In-place file rename 917 - Pin (`Ctrl-B`) a directory and visit (`Ctrl-V`) it anytime 918 - Auto-completion scripts 919 - Show volume capacity and free in help 920 - Auto-fallback to light mode if too few columns (< 35) 921 - PackageCore integration 922 - Unsupported Function keys (they never work universally): 923 - `F2` (rename), use `Ctrl-R` 924 - `F5` (refresh), use `Ctrl-L` 925 926 ------------------------------------------------------------------------------- 927 928 nnn v1.3 929 2017-07-26 930 931 What's in? 932 - Show directories in custom color (default: enabled in blue) 933 - Option `-e` to use exiftool instead of mediainfo 934 - Fixed #34: nftw(3) broken with too many open descriptors 935 - More concise help screen 936 937 ------------------------------------------------------------------------------- 938 939 nnn v1.2 940 2017-06-29 941 942 What's in? 943 - Use the desktop opener (xdg-open on Linux, open(1) on OS X) to open files 944 - Option `NNN_USE_EDITOR` to open text files in EDITOR (fallback vi) 945 - Bookmark support (maximum 10, key `b`) 946 - *Navigate-as-you-type* mode (key `Insert` or option `-i`) 947 - Subtree search: gnome-search-tool, fallback catfish (key `^/`) (customizable) 948 - Show current directory content size and file count in disk usage mode 949 - Add detail view mode as default, use `-l` to start in light mode 950 - Shortcuts `F2` and `^L` to refresh and unfilter 951 Note: if filter is empty, `Enter` *opens* the currently selected file now 952 - Help screen shows bookmarks and configuration 953 - Show a message when calculating disk usage 954 - Show the spawned shell level 955 - Linux only: use vlock as the locker on timeout (set using `NNN_IDLE_TIMEOUT`) 956 957 ------------------------------------------------------------------------------- 958 959 nnn v1.1 960 2017-05-12 961 962 News 963 - Introducing nlay - a highly customizable bash script to handle media type 964 - nnn is on [Homebrew](http://braumeister.org/formula/nnn) now 965 - RPM packages for CentOS 7 and Fedora 24 generated on release 966 967 What's in? 968 - *Search-as-you-type* 969 - Unicode support 970 - Option `-S` to start in disk usage analyzer mode 971 - Show media information (using mediainfo) 972 - Use readline at change directory prompt 973 - Jump to prev directories using `cd .....` (with `.` as PWD) 974 - Jump to initial directory using `&` 975 - Show help, mediainfo and file info in PAGER 976 - Several optimizations 977 978 ------------------------------------------------------------------------------- 979 980 nnn v1.0 981 2017-04-13 982 983 Modifications 984 - Behaviour and navigation 985 - Detail view (default: disabled) with: 986 - file type (directory, regular, symlink etc.) 987 - modification time 988 - human-readable file size 989 - current item in reverse video 990 - number of items in current directory 991 - full name of currently selected file in 'bar' 992 - Show details of the currently selected file (stat, file) 993 - Disk usage analyzer mode (within the same fs, doesn't follow symlinks) 994 - Directories first (even with sorting) 995 - Sort numeric names in numeric order 996 - Case-insensitive alphabetic content listing instead of upper case first 997 - Key `-` to jump to last visited directory 998 - Roll over at the first and last entries of a directory (with Up/Down keys) 999 - Removed navigation restriction with relative paths (and let permissions handle it) 1000 - Sort entries by file size (largest to smallest) 1001 - Shortcut to invoke file name copier (set using environment variable `NNN_COPIER`) 1002 - File association 1003 - Set `NNN_OPENER` to let a desktop opener handle it all. E.g.: 1004 export NNN_OPENER=xdg-open 1005 export NNN_OPENER=gnome-open 1006 export NNN_OPENER=gvfs-open 1007 - Selective file associations (ignored if `NNN_OPENER` is set): 1008 - Associate plain text files (determined using file) with vi 1009 - Associate common audio and video mimes with mpv 1010 - Associate PDF files with [zathura](https://pwmt.org/projects/zathura/) 1011 - Removed `less` as default file opener (there is no universal standalone opener utility) 1012 - You can customize further (see [how to change file associations](#change-file-associations)) 1013 - `NNN_FALLBACK_OPENER` is the last line of defense: 1014 - If the executable in static file association is missing 1015 - If a file type was not handled in static file association 1016 - This may be the best option to set your desktop opener to 1017 - To enable the desktop file manager key, set `NNN_DE_FILE_MANAGER`. E.g.: 1018 export NNN_DE_FILE_MANAGER=thunar 1019 - Optimization 1020 - All redundant buffer removal 1021 - All frequently used local chunks now static 1022 - Removed some redundant string allocation and manipulation 1023 - Simplified some roundabout procedures 1024 - Compiler warnings fixed 1025 - strip the final binary 1026 1027 -------------------------------------------------------------------------------