GNU nano

Last updated
GNU nano
Original author(s) Chris Allegretta
Developer(s) Benno Schulenberg
Initial release18 November 1999;24 years ago (1999-11-18) [1]
Stable release
7.2 [2]   OOjs UI icon edit-ltr-progressive.svg / 18 January 2023
Repository
Written in C
Operating system Cross-platform
Included withGNU based operating systems
Available inEnglish, Turkish
Type Text editor
License 2007: GPL-3.0-or-later [lower-alpha 1] [3]
2001: GPL-2.0-or-later [lower-alpha 2] [4]
1999: GPL-1.0-or-later [lower-alpha 3]
Website nano-editor.org OOjs UI icon edit-ltr-progressive.svg

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. [5] Unlike Pico, nano is licensed under the GNU General Public License (GPL). Released as free software by Chris Allegretta in 1999, nano became part of the GNU Project in 2001. [6] The logo resembles the lowercase form of the Greek letter Eta (η).

Contents

History

GNU nano was first created in 1999 with the name TIP (a recursive acronym for TIP Isn't Pico), 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 January 10, 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, [7] and the undoing and redoing of edit changes. [8]

On 11 August 2003, Chris Allegretta officially handed the source code maintenance of nano to David Lawrence Ramsey. [9] On 20 December 2007, with the release of 2.0.7, Ramsey stepped down as nano's maintainer. [10] The license was also upgraded to GPL-3.0-or-later. [11] The project is currently maintained by Benno Schulenberg. [12]

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. [13] [14] [15] [16] The step was acknowledged by Debian and Arch Linux, [17] [18] while the GNU Project resisted the move and called it a "fork". [19] 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, [20] which happened when version 2.7.0 was released in September 2016. [21]

Control keys

GNU nano, like Pico, is keyboard-oriented, controlled with control keys. For example, Ctrl+O saves the current file; Ctrl+W 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, Ctrl+G gets the help screen.

Unlike Pico, nano uses meta keys to toggle its behavior. For example, Meta+S 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, Esc, such that in order to simulate, say, Meta+S one has to press the Esc key, then release it, and then press the S key.

GNU nano can also use pointing devices, such as a mouse, to activate functions that are on the shortcut bar, as well as position the cursor.

See also

Notes

  1. GPL-3.0-or-later: Since 2.0.7.
  2. GPL-2.0-or-later: From 1.0.6 and 1.1.3 to 2.0.6.
  3. GPL-1.0-or-later: TIP 0.5.0 to Nano 1.0.5 and Nano 1.1.2.

Related Research Articles

The editor war is the rivalry between users of the Emacs and vi text editors. The rivalry has become an enduring part of hacker culture and the free software community.

<span class="mw-page-title-main">GNU</span> Free software collection

GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).

Pico is a text editor for Unix and Unix-like computer systems. It is integrated with Pine and Alpine, email clients initially designed by the Office of Computing and Communications at the University of Washington.

<span class="mw-page-title-main">Pine (email client)</span> Email and newsgroups client

Pine is a freeware, text-based email client which was developed at the University of Washington. The first version was written in 1989, and announced to the public in March 1992. Source code was available for only the Unix version under a license written by the University of Washington. Pine is no longer under development, and has been replaced by the Alpine client, which is available under the Apache License.

<span class="mw-page-title-main">Ghostscript</span> Interpreter for the PostScript language

Ghostscript is a suite of software based on an interpreter for Adobe Systems' PostScript and Portable Document Format (PDF) page description languages. Its main purposes are the rasterization or rendering of such page description language files, for the display or printing of document pages, and the conversion between PostScript and PDF files.

GNU Mach is an implementation of the Mach microkernel. It is the default microkernel in the GNU Hurd. GNU Mach runs on IA-32 machines. GNU Mach is maintained by developers on the GNU project. It is distributed under the terms of the GNU General Public License (GPL).

<span class="mw-page-title-main">Wget</span> Computer command line program for downloading

GNU Wget is a computer program that retrieves content from web servers. It is part of the GNU Project. Its name derives from "World Wide Web" and "get". It supports downloading via HTTP, HTTPS, and FTP.

<span class="mw-page-title-main">Scanner Access Now Easy</span>

Scanner Access Now Easy (SANE) is an open-source application programming interface (API) that provides standardized access to any raster image scanner hardware. The SANE API is public domain. It is commonly used on Linux.

<span class="mw-page-title-main">GnuTLS</span> Free software library implementing TLS

GnuTLS is a free software implementation of the TLS, SSL and DTLS protocols. It offers an application programming interface (API) for applications to enable secure communication over the network transport layer, as well as interfaces to access X.509, PKCS #12, OpenPGP and other structures.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

GNU Readline is a software library that provides in-line editing and history capabilities for interactive programs with a command-line interface, such as Bash. It is currently maintained by Chet Ramey as part of the GNU Project.

<span class="mw-page-title-main">Joe's Own Editor</span>

JOE or Joe's Own Editor is an ncurses-based text editor for Unix systems, available under the GPL. It is designed to be easy to use.

rTorrent BitTorrent library and text-based client

rTorrent is a text-based BitTorrent client written in C++, based on the ncurses and libTorrent libraries for Unix, whose author's goal is "a focus on high performance and good code".

<span class="mw-page-title-main">MicroEMACS</span> MicroEMACS is a small text editor program from the EMACS family

MicroEMACS is a small, portable Emacs-like text editor originally written by Dave Conroy in 1985, and further developed by Daniel M. Lawrence (1958–2010) and was maintained by him. MicroEMACS has been ported to many operating systems, including CP/M, MS-DOS, Microsoft Windows, VMS, Atari ST, AmigaOS, OS-9, NeXTSTEP, and various Unix-like operating systems.

<span class="mw-page-title-main">GNU IceCat</span> Firefox derivative recommending only free software

GNU IceCat, formerly known as GNU IceWeasel, is a completely free version of the Mozilla Firefox web browser distributed by the GNU Project. It is compatible with Linux, Windows, Android and macOS.

<span class="mw-page-title-main">Geany</span> Integrated Development Environment

Geany is a free and open-source lightweight GUI text editor using Scintilla and GTK, including basic IDE features. It is designed to have short load times, with limited dependency on separate packages or external libraries on Linux. It has been ported to a wide range of operating systems, such as BSD, Linux, macOS, Solaris and Windows. The Windows port lacks an embedded terminal window; also missing from the Windows version are the external development tools present under Unix, unless installed separately by the user. Among the supported programming languages and markup languages are C, C++, C#, Java, JavaScript, PHP, HTML, LaTeX, CSS, Python, Perl, Ruby, Pascal, Haskell, Erlang, Vala and many others.

<span class="mw-page-title-main">GNU Emacs</span> GNU version of the Emacs text editor

GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. Its tag line is "the extensible self-documenting text editor."

Emacs, originally named EMACS, is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, self-documenting, real-time display editor". Development of the first Emacs began in the mid-1970s, and work on GNU Emacs, directly descended from the original, is ongoing; its latest version is 29.2, released January 2024.

<span class="mw-page-title-main">Uzbl</span> Open source minimalist web browser

Uzbl is a discontinued free and open-source minimalist web browser designed for simplicity and adherence to the Unix philosophy. Development began in early 2009 and is still considered in alpha software by the developers. The core component of Uzbl is written in C, but other languages are also used, most notably Python. All parts of the Uzbl project are released as free software under GNU GPL-3.0-only.

<span class="mw-page-title-main">Spacemacs</span> Free software

Spacemacs is a configuration framework for GNU Emacs. It can take advantage of all of GNU Emacs' features, including both graphical and command-line user interfaces, and being executable under X Window System and within a Unix shell terminal. It is free and open-source software (FOSS) released under the GPL-3.0-or-later license.

References

  1. "first tarball that is still available (tip-0.5.0.tar.gz)".
  2. "[Info-nano][ANNOUNCE] nano-7.2 is released". 18 January 2023. Retrieved 18 January 2023.
  3. "COPYING file". 11 August 2007. Retrieved 2 December 2020 via GNU Savannah.
  4. "NEWS". 2001-10-26.
  5. The nano FAQ: https://www.nano-editor.org/dist/v2.2/faq.html#1.3
  6. Official website FAQ. (accessed 17 February 2016.)
  7. Allegretta, Chris (18 March 2008). "GNU nano 2.1.0". Nano-devel mailing list. gnu.org. Retrieved 18 March 2008.
  8. Allegretta, Chris (23 March 2015). "GNU nano 2.4.0". Nano-devel mailing list. gnu.org. Retrieved 18 April 2015.
  9. Allegretta, Chris (11 August 2003). "GNU nano 1.3 branch opened in CVS". Nano-devel mailing list. gnu.org. Retrieved 25 January 2007.
  10. Ramsey, David Lawrence (20 December 2007). "Stepping down as the nano maintainer..." Nano-devel mailing list. gnu.org. Retrieved 20 December 2007.
  11. NEWS in nano.git "Finally, nano is now licensed under the GNU GPL version 3 or later, and its documentation is now dual-licensed under the GNU GPL version 3 or later and the GNU FDL version 1.2 or later." (20 December 2007)
  12. "GNU nano: Who's who". www.nano-editor.org. Retrieved 2020-11-08.
  13. nano news on nano-editor.org "And, with this release, we take leave of the herd... Bye! And thanks for all the grass!" (22 June 2016)
  14. remove the GNU marker from nano's name on savannah.org by Benno Schulenberg (13 June 2016)
  15. Re: (Nano-devel) Should nano stay a GNU program (Was: time for a 2.5.4-p on lists.gnu.org (7 May 2016)
  16. sr #109076: Request to move nano from gnu to nongnu on savannah.gnu.org by Benno Schulenberg (22 June 2016)
  17. "Accepted nano 2.6.0-1 (source amd64) into unstable".
  18. "svntogit/packages.git - Git clone of the 'packages' repository".
  19. I'm on the GNU maintainers team; I want to clarify a couple things about this: First, Nano has _not_ left the GNU Project on news.ycombinator.com by Mike Gerwitz (June 2016)
  20. Chris, Allegretta (19 August 2016). "[Nano-devel] nano to remain in GNU". lists.gnu.org. Retrieved 2 September 2016.
  21. nano news on nano-editor.org "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." (1 September 2016)