GNU nano

GNU nano is a text editor for Unix-like computing systems or operating environments using a command line interface. It emulates the Pico text editor, part of the Pine email client, and also provides additional functionality.
Unlike Pico, nano is licensed under the GNU General Public License. Released as free software by Chris Allegretta in 1999, nano became part of the GNU Project in 2001.


GNU nano was first created in 1999 with the name TIP, by Chris Allegretta. His motivation was to create a free software replacement for Pico, which was not distributed under a free software license. The name was changed to nano on 10 January 2000 to avoid a naming conflict with the existing Unix utility tip. The name comes from the system of SI prefixes, in which nano is 1000 times larger than pico. In February 2001, nano became a part of the GNU Project.
GNU nano implements several features that Pico lacks, including syntax highlighting, line numbers, regular expression search and replace, line-by-line scrolling, multiple buffers, indenting groups of lines, rebindable key support, and the undoing and redoing of edit changes.
On 11 August 2003, Chris Allegretta officially handed the source code maintenance of nano to David Lawrence Ramsey. On 20 December 2007, Ramsey stepped down as nano's maintainer.
On version 2.6.0 in June 2016, the current principal developer and the other active members of the nano project decided in consensus to leave the GNU project, because of their objections over the Free Software Foundation's copyright assignment policy, and their belief that decentralized copyright ownership does not impede the ability to enforce the GNU General Public License. The step was acknowledged by Debian and Arch Linux, while the GNU project resisted the move and called it a "fork". On 19 August 2016, Chris Allegretta announced the return of the project to the GNU family, following concessions from GNU on copyright assignment for Nano specifically, which happened when version 2.7.0 was released in September 2016.

Control keys

GNU nano, like Pico, is keyboard-oriented, controlled with control keys. For example, saves the current file; goes to the search menu. GNU nano puts a two-line "shortcut bar" at the bottom of the screen, listing many of the commands available in the current context. For a complete list, gets the help screen.
Unlike Pico, nano uses meta keys to toggle its behavior. For example, toggles smooth scrolling mode on and off. Almost all features that can be selected from the command line can be dynamically toggled. On keyboards without the meta key it is often mapped to the escape key,, such that in order to simulate, say, one has to press the key, then release it, and then press the key.
GNU nano can also use pointer devices, such as a mouse, to activate functions that are on the shortcut bar, as well as position the cursor.