GNU nano Changelog

What's new in GNU nano 4.7

Dec 27, 2019
  • A < Tab > will indent a marked region only when mark and cursor are on different lines.
  • Two indentations (any mix of tabs and spaces) are considered the same when they look the same (that is: indent to the same level).
  • When using --breaklonglines or ^J, a line will never be broken in its leading whitespace or quoting.
  • The keywords in nanorc files must be in lowercase.

New in GNU nano 4.6 (Nov 29, 2019)

  • The 'formatter' command has returned, bound by default to M-F.
  • It allows running a syntax-specific command on the contents of the buffer.
  • ^T will try to run 'hunspell' before 'spell', because it checks spellling for the locale's language and understands UTF-8.
  • Multiple errors or warnings on startup will no longer slow nano down but will be indicated on the status bar with trailing dots.

New in GNU nano 4.5 (Oct 4, 2019)

  • The new 'tabgives' command allows you to specify per syntax what
  • the < Tab > key should produce: some spaces, a hard TAB, ...
  • The output of --help is properly aligned again for all languages.
  • < Tab > will indent a marked region also when M-} has been rebound.

New in GNU nano 4.4 (Aug 26, 2019)

  • At startup, the cursor can be put on the first or last occurrence of a string by preceding the filename with +/string or +?string.
  • When automatic hard-wrapping occurs (--breaklonglines), any leading quoting characters will be automatically copied to the new line.
  • M-6 works again also when the cursor is at end of buffer.

New in GNU nano 4.3 (Jun 19, 2019)

  • The ability to read from and write to a FIFO has been regained.
  • Startup time is reduced by fully parsing a syntax only when needed.
  • Asking for help (^G) when using --operatingdir does not crash.
  • The reading of a huge or slow file can be stopped with ^C.
  • Cut, zap, and copy operations are undone separately when intermixed.
  • M-D reports the correct number of lines (zero for an empty buffer).

New in GNU nano 4.2 (Apr 24, 2019)

  • The integrated spell checker does not crash when 'spell' is missing.
  • Option --breaklonglines works also when --ignorercfiles is used.
  • Automatic hard-wrapping is more persistent in pushing words to the same overflow line.

New in GNU nano 4.1 (Apr 16, 2019)

  • By default, a newline character is again automatically added at the end of a buffer, to produce valid POSIX text files by default, but also to get back the easy adding of text at the bottom.
  • The now unneeded option --finalnewline (-f) has been removed.
  • Syntax files are read in alphabetical order when globbing, so that the precedence of syntaxes becomes predictable.
  • In the C syntax, preprocessor directives are highlighted differently.
  • M-S now toggles soft wrapping, and M-N toggles line numbers.
  • The jumpy-scrolling toggle has been removed.
  • The legacy keystrokes ^W^Y and ^W^V are recognized again.
  • Executing an external command is disallowed when in view mode.
  • Problems with resizing during external or speller commands were fixed.

New in GNU nano 4.0 (Mar 25, 2019)

  • An overlong line is no longer automatically hard-wrapped.
  • Smooth scrolling (one line at a time) has become the default.
  • A newline character is no longer automatically added at end of buffer.
  • The line below the title bar is by default part of the editing space.
  • Option --breaklonglines (-b) turns automatic hard-wrapping back on.
  • Option --jumpyscrolling (-j) gives the chunky, half-screen scrolling.
  • Option --finalnewline (-f) brings back the automatic newline at EOF.
  • Option --emptyline (-e) leaves the line below the title bar unused.
  • and now do a linewise scroll instead of a findnext.
  • Any number of justifications can be undone (like all other operations).
  • When marked text is justified, it becomes a single, separate paragraph.
  • Option --guidestripe= draws a vertical bar at the given column.
  • Option --fill= no longer turns on automatic hard-wrapping.
  • When a line continues offscreen, it now ends with a highlighted ">".
  • The halfs of a split two-column character are shown as "[" and "]".
  • A line now scrolls horizontally one column earlier.
  • The bindable functions 'cutwordleft' and 'cutwordright' were renamed
  • to 'chopwordleft' and 'chopwordright' as they don't use the cutbuffer.
  • The paragraph-jumping functions were moved from Search to Go-to-Line.
  • Option --rebinddelete is able to compensate for more misbindings.
  • Options --morespace and --smooth are obsolete and thus ignored.
  • The --disable-wrapping-as-root configure option was removed.

New in GNU nano 3.2 (Nov 12, 2018)

  • GNU nano 3.2 "Het kromme hout" changes the default binding for the linter to M-B so that the spell checker (^T) can always be used, and changes (when linting) the text in the title bar and the color of the status bar to make linting mode more obvious. It also adds a bindable 'zap' function for deleting a line or marked region without changing the cutbuffer, adds --zap to bind the < Del > and keys to the zap function when something is marked, and hard-binds < Alt+Del > to 'zap'. Furthermore, it shows the cursor also in the help viewer (when --showcursor is used), renames the bindable functions 'prevhistory' to 'older' and 'nexthistory' to 'newer' (update your nanorcs when needed), reads the nanorc files also in restricted mode to allow customization by the user (if this should not be allowed, use --ignorercfiles in addition to --restricted), allows in view mode to open also other files (if this should not be allowed, use --restricted in addition to --view), makes resizes respect a relative --fill again, no longer binds F13...F15 by default, properly re-highlights a misspelled word after invoking help in the internal spell checker, and does not skip Unicode characters in string binds.

New in GNU nano 3.0 (Sep 10, 2018)

  • GNU nano 3.0 "Water Flowing Underground" speeds up the reading of a file by seventy percent, roughly doubles the speed of handling ASCII text, changes the way words at line boundaries are deleted, makes wipe the next word and < Ctrl+Shift+Delete > the preceding word, binds M-Q to 'findprevious' by default (the Tabs-to-Spaces toggle is placed on M-O, and the More-Space toggle is fully removed), makes an external spell check undoable, shows the correct number of lines on the status bar when opening multiple files, removes the 'formatter' command, removes the 'searchagain' bindable function (M-W is now bound to 'findnext' by default), moves the No-Convert toggle to the Insert menu, removes the Backup and New-Buffer toggles from the main menu (they remain in the Write-Out and Insert menus, respectively), is more precise in what it accepts as a rebindable key name, ignores any presses of < Esc > before a valid command keystroke, recognizes some more escape sequences for modified editing-pad keys, does not hide rcfile error messages on a Linux console, renames the bindable functions 'copytext' to 'copy' and 'uncut' to 'paste', and avoids a possible hang during a Full-Justify.

New in GNU nano 2.9.8 (Jun 4, 2018)

  • GNU nano 2.9.8 "Espresso" brings the ability to filter the buffer (or the marked region) through an external command (^R^X and prefix the command with the pipe symbol, "|"), is better at detecting and maintaining paragraphs, is able to justify //-style comments, fixes a crash when the binding of a key to a string lacks a closing quote, gives feedback about the number of lines written also when prepending or appending, and fixes a couple of bugs with the linter.

New in GNU nano 2.9.7 (May 15, 2018)

  • GNU nano 2.9.7 "Hvide Sande" adds the option '--afterends' for making Ctrl+Right (the nextword function) stop at word ends instead of beginnings, accepts multibyte letters for the Yes/No/All answers, does emergency saves of changed buffers in the unlikely event that nano crashes, adds the until-now missing bindable function 'linenumbers', and renames the toggles 'constupdate' to 'constantshow' and 'cuttoend' to 'cutfromcursor', for consistency with the corresponding options -- adjust your nanorc files soon.

New in GNU nano 2.9.6 (Apr 30, 2018)

  • GNU nano 2.9.6 "Gomance" fixes a crash in word completion, makes --enable-altrcname work again, improves the fluidity of scrolling when using the touchpad, tweaks the syntaxes for shell scripts and PO files, makes a replacing session go always forward by default, no longer inserts a newline after an external spell check of a selected region, always accepts the English Y and N (and A) at a yes-no prompt in any locale, and solves a few hypothetical bugs.

New in GNU nano 2.9.5 (Mar 29, 2018)

  • GNU nano 2.9.5 "Kiša pada" changes the way the Scroll-Up and Scroll-Down commands work (M-- and M-+): instead of keeping the cursor in the same screen position they now keep the cursor in the same text position (if possible). This version further adds a new color name, "normal", which gives the default foreground or background color, which is useful when you want to undo some overzealous painting by earlier syntax regexes. Bug fixes include: a segfault when trying to insert a file in restricted mode, the reading in of a new file being "undoable", a slight miswrapping of help texts when --linenumbers was used, and the shell syntax coloring the word "tar" in file names.

New in GNU nano 2.9.4 (Mar 12, 2018)

  • GNU nano 2.9.4 "Isabel" allows binding a key to a string (any piece of text and/or commands), permits customizing the color of error messages with 'set errorcolor', colors those error messages by default in bright white on red, makes at the bottom of the screen scroll just one row when --smooth is used, does not fail when redoing a file insertion, and cancels a Shift-selection when any cursor key is pressed without Shift even when the cursor cannot move. Further, it treats tabs fully the same as spaces when doing automatic hard-wrapping, allows syntax names to be unquoted, and removes two deprecated options and six deprecated bindable function names.

New in GNU nano 2.9.3 (Jan 29, 2018)

  • GNU nano 2.9.3 "Córdoba" fixes a segfault with trimblanks that could occur when a typed space caused the word after it to be pushed to the next line. It further makes macros work also when your keyboard still emits escape sequences, adds the options -M and --trimblanks for the command line, recognizes key combos with Shift on a few more terminals, no longer shows dots in certain prompt texts when visible witespace is turned on, fixes two corner cases when doing replacements in a marked region, allows to open a named pipe again when using --noread, and accurately detects a needed color change when a line contains a start match but not a corresponding end match any more. Plus some other small fry.

New in GNU nano 2.9.2 (Jan 3, 2018)

  • GNU nano 2.9.2 "Pussy Riot" correctly displays the Modified state when undoing/redoing (also when the file was saved somewhere midway), improves the undoing of an automatic linefeed at EOF, fixes a build issue on the BSDs, shows the cursor again when compiled with --withslang, renames the option 'justifytrim' to 'trimblanks' because it will now snip trailing whitespace also while you are typing (and hard-wrapping is enabled), continues pushing words to the next line much longer (when hard-wrapping), makes and indent and unindent a marked region, allows unindenting when not all lines are indented, lets a region marked with Shift persist when indenting/unindenting or commenting/uncommenting it, and in those cases excludes the last line of the region when it is not visibly marked (which makes for a more intuitive behavior).

New in GNU nano 2.9.1 (Nov 28, 2017)

  • GNU nano 2.9.1 "Damyatta" fixes a bug where, when the mark is on, ^S would overwrite the file with just the marked region. This release further clears the "Modified" flag when all edits are undone, adds or updates some magic strings, and does not forget when the cursor was last at line 1, column 1.

New in GNU nano 2.9.0 (Nov 21, 2017)

  • GNU nano 2.9.0 "Eta" introduces the ability to record and replay keystrokes (M-: to start and stop recording, M-; to play the macro back), makes ^Q and ^S do something useful by default (^Q starts a backward search, and ^S saves the current file), changes ^W to start always a forward search, shows the number of open buffers (when more than one) in the title bar, no longer asks to press Enter when there are errors in an rc file, retires the options '--quiet' and 'set quiet' and 'set backwards', makes indenting and unindenting undoable, will look in $XDG_CONFIG_HOME for a nanorc file and in $XDG_DATA_HOME for the history files, adds a history stack for executed commands (^R^X), does not overwrite the position-history file of another nano, and fixes a score of tiny bugs.

New in GNU nano 2.8.7 (Sep 4, 2017)

  • GNU nano 2.8.7 "Fragrance" fixes a lockup when tabs are wider than the screen, makes indenting + unindenting more predictable by retaining relative indentations, allows pasting (^U) at a prompt, allows triple quotes in Python to not be followed by a character, does not scroll three pages on a roll of the mouse wheel, binds Alt+Up and Alt+Down to findprevious and findnext, and fixes some hard-to-describe issues with softwrapping and boundary-crossing tabs.

New in GNU nano 2.8.6 (Jul 21, 2017)

  • GNU nano 2.8.6 "Kekulé" offers a new feature: the ability to do softwrapping between words -- at whitespace -- instead of always at the edge of the screen. This can be activated with -a or --atblanks or 'set atblanks' together with the softwrap option. This release further fixes a handful of rare display glitches, fixes a build failure on AIX, harmonizes the quoting rules in the rc files, and renames the option 'cut' to 'cutfromcursor' (please update your nanorc files before 2020).

New in GNU nano 2.8.5 (Jun 25, 2017)

  • GNU nano 2.8.5 "Farouche" avoids a crash when waking from a suspension that was induced from the outside, allows negative line and column numbers on the command line, avoids some flickering when resizing the screen while in the file browser, opens files in the order they were mentioned on the command line, and does not pretend to have woken from suspension when receiving a SIGCONT.

New in GNU nano 2.8.3 (May 19, 2017)

  • GNU nano 2.8.3 "Hirsch" fixes a misplacement of the spotlight during interactive replacing, avoids build failures on AIX and Solaris, fixes a crash on Solaris, speeds up backwards searching, improves PHP syntax highlighting, and no longer asks "save anyway?" when the user ^Q discards the buffer.

New in GNU nano 2.8.2 (May 4, 2017)

  • GNU nano 2.8.2 "Krats" adds another new feature: it makes the ^G help texts searchable with ^W. Apart from that, it fixes a crash when resizing the window in the middle of verbatim input, avoids an unlikely crash when used without UTF-8 support in some locales, avoids redrawing the screen twice when switching between buffers while line numbers are active, and works around a coloring bug on musl. Plus tweaks to the documentation; plus translation updates for fifteen languages.

New in GNU nano 2.8.1 (Apr 12, 2017)

  • GNU nano 2.8.1 "Ellert" fixes build failures on MacOS and on musl, fixes scrolling problems in softwrap mode when double-width characters on row boundaries are involved, shows double-width characters as ">" and "

New in GNU nano 2.8.0 (Mar 31, 2017)

  • GNU nano 2.8.0 "Axat" makes it easier to move around in softwrapped lines: the Up and Down keys now step from visual row to visual row instead of jumping between logical lines, and the Home and End keys now move to the start and end of a row, and only when already there, then to the start and end of the logical line. Furthermore, the screen can now scroll per row instead of always per logical line. On an entirely different front: nano now makes use of gnulib, to make it build on more platforms. In short: there were many internal changes, not many user-visible ones (apart form the new softwrap navigation). The conversion to gnulib was done by Mike Frysinger, the softwrap overhaul by David Ramsey.

New in GNU nano 2.7.5 (Feb 24, 2017)

  • GNU nano 2.7.5 "Nijntje" can properly search and replace the B and b regex anchors, correctly repaints things when multiline regexes with identical start and end are involved, fixes a crash with zero-length regex matches, does replacements at the edges of a marked region right, no longer hides double-width characters at the head of softwrapped rows, displays at most three warnings at startup, and documents the ability to read a file from standard input. Come tickle my ears.

New in GNU nano 2.7.4 (Jan 11, 2017)

  • GNU nano 2.7.4 "Red dress" undoes deletions in an orderly manner again (bug was introduced in previous version), sets the preferred x position for vertical movements more consistently, avoids some scrolling problems in softwrap mode, installs the Info manual also when your system lacks 'makeinfo', and corrects the behavior of the beginning-of-word anchor (

New in GNU nano 2.7.3 (Dec 29, 2016)

  • GNU nano 2.7.3 "Ontbijtkoek" wipes away a handful of bugs: your editor is now able to handle filenames that contain newlines, avoids a brief flash of color when switching between buffers that are governed by different syntaxes, makes the Shift+Ctrl+Arrow keys select text again on a Linux console, is more resistant against malformations in the positionlog file, and does not crash when ^C is typed on systems where it produces the code KEY_CANCEL. Oh, and it no longer mistakenly warns about editing an unlocked file just after saving a new one. That's it. Tastes great with thick butter.

New in GNU nano 2.7.2 (Dec 12, 2016)

  • GNU nano 2.7.2 "Shemesh! Shemesh!" brings another feature: the ability to complete with one keystroke (^] by default) a fragment of a word to a full word existing elsewhere in the current buffer. Besides, this release fixes two bugs related to using line numbers in softwrap mode, allows to use the PageUp and PageDown keys together with Shift on VTE-based terminals, stops the help lines from flickering during interactive replacing, makes a 'set fill' override an earlier 'set nowrap', properly restores the selected region after an external spell check, and improves a few other tidbits. If you should find any more bugs, please run 'man nano | grep bugs' and report them there.

New in GNU nano 2.7.1 (Oct 29, 2016)

  • GNU nano 2.7.1 "Leuven" adds an often-asked-for feature: the ability to display line numbers beside the text. This can be activated with -l or --linenumbers on the command line, or with 'set linenumbers' in your nanorc, or toggled with M-#. The coloring of these numbers can be chosen via the option 'set numbercolor'. This release furthermore fixes some bugs with scrolling in softwrap mode, is more strict in the parsing of key rebindings, and marks a new buffer as modified when the output of a command (^R ^X) has been read into it. Come and check it out!

New in GNU nano 2.7.0 (Sep 1, 2016)

  • GNU nano 2.7.0 "Suni" adds a new feature: allowing text to be selected by holding Shift together with the cursor keys. Besides that, nano now works also when run in very tiny terminals (down to one line, one column), and improves the handling of the prompt in cramped spaces. Not much, but it's time to get it out there. With this release we return to GNU. For just a little while we dreamt we were tigers. But we are back in the herd, back to a healthy diet of fresh green free grass.

New in GNU nano 2.6.3 (Aug 11, 2016)

  • nano 2.6.3 "Marika" makes the Ctrl+Arrow keys work also on a Linux virtual console, takes as verbatim only the very first keystroke after M-V, removes any lock files that it holds when dying, doesn't abort when a word contains digits (when using the default speller), fixes a small sorting bug in the file browser, makes searching case-insensitively in a UTF-8 locale a little faster, and doesn't enter invalid bytes when holding down both Alt keys.

New in GNU nano 2.6.2 (Jul 28, 2016)

  • nano 2.6.2 "Le vent nous portera" adds two new features: the keystrokes Ctrl+Up and Ctrl+Down for jumping between blocks of text, and the option 'wordchars' for specifying which characters (beside alphanumeric ones) should be considered word-forming. Further, it provides feedback during Unicode input (M-V followed by a six-digit hexadecimal number which must start with 0 or 10), avoids a crash when resizing the window during Verbatim input, doesn't drop a keystroke after having been suspended, and replaces the beginning-of-line anchor (^) just once per line. There are also several tiny improvements in screen rendering and key handling. Come get your hair tousled!

New in GNU nano 2.6.1 (Jun 30, 2016)

  • nano 2.6.1 "Stampede" is chiefly a translation update, but also adds one little feature (the ability to use negative numbers with Go To Line: -1 meaning the first line from the bottom), includes syntax highlighting for Rust, and fixes three tiny bugs (but in such far corners of the editor that they aren't even worth mentioning).

New in GNU nano 2.6.0 (Jun 24, 2016)

  • ano 2.6.0 "Rubicon" fixes more than fifty little bugs -- and some of them not so little. It improves moving about in the file browser, corrects failings of the internal spell checker, adds a new feature (comment/uncomment lines, with default binding M-3), makes some error messages clearer, shows more of a file when positionlog is used and the cursor is near the end, displays all error messages at startup if there are multiple ones, does not misinterpret keystrokes when typing very fast, is less eager to trim the filename on narrow terminals, speeds up case-insensitive searches, and allows to abort re-searches. Among bunches of other things. It is worth the trouble to upgrade.

New in GNU nano 2.1.9 (Feb 17, 2009)

  • Issues with the new sped-up syntax highlighting code were corrected.
  • Other fixes include configure-time detection of groff HTML support before attempting to generate the HTML version of man pages.
  • Using ~ or ~username syntax in .nanorc should now work again.
  • Also, nano will now only ask for one acknowledgment of errors it encounters when parsing nanorc files, and a new -q (--quiet) flag will silence these messages altogether.

New in GNU nano 2.1.8 (Feb 8, 2009)

  • This release includes some long overdue performance improvements in syntax color highlighting, the ability to abort running searches (useful mainly when editing very large files), and the ability to use nano like a pager for viewing standard input (i.e. "nano -").
  • Additionally, there are gentoo syntax highlighting updates and fixes for issues with reading files in a directory with strange parent directory permissions.
  • The key bindings code was also substantially changed in order to be more ISO-C compatible.

New in GNU nano 2.1.7 (Nov 11, 2008)

  • This release includes a new check for external modifications when saving a file, some code and documentation cleanups, and more bugfixes for the new undo code.

New in GNU nano 2.1.5 (Aug 31, 2008)

  • This release contains a better fix for incorrectly reported successful writes on full filesystems, more helpful messages when an internal error occurs in the undo code, and fixes for various combinations of configure-time options and compiler flags.
  • Also included is new support for changing the rc file name at configure time, and using GNU-style regexes for word-boundaries on systems that do not support them natively, as well as the ever popular translation updates.