1.1 About this FAQ
1.2. How do I contribute to it?
1.3. What is GNU nano?
1.4. What is the history behind nano?
1.5. Why the name change from TIP?
1.6. What is the current version of nano?
1.7. I want to read the manpage without having to download the program!
2.1. FTP and WWW sites that carry nano.
2.2. RedHat and derivatives (.rpm) packages.
2.3. Debian (.deb) packages.
2.4. By subversion (for the brave).
3.1. How do I install the RPM or DEB package?
3.2. Compiling from source: WHAT THE HECK DO I DO NOW?
3.3. Why does everything go into /usr/local?
3.4. I get errors about 'bindtextdomain','gettext', and/or 'gettextdomain'. What can I do about it?
3.5. nano should automatically run strip on the binary when installing it!
3.6. How can I make the executable smaller? This is too bloated!
3.7. Tell me more about this multibuffer stuff!
3.8. Tell me more about this verbatim input stuff!
3.9. How do I make a .nanorc file that nano will read when I start it? 3.9.1. How about in Win32?
4.1. How do I open a file with a name beginning with '+' from the command line?
4.2. Ack! My Backspace/Delete/Enter/Meta/double bucky key doesn't seem to work! What can I do?
4.3. Ack! My numeric keypad's keys don't work properly when NumLock is off! What can I do?
4.4. Ack! When I hold down a Meta key combination for a while, the character of the held key gets inserted now and then. What gives?
4.5. How do I type the F13-F16 keys shown in the help browser? My keyboard only has F1-F12!
4.6. nano crashes when I type <insert keystroke here>!
4.7. nano crashes when I resize my window. How can I fix that?
4.8. [version 1.3.12 and later] I'm using glibc 2.2.3, and nano crashes when I use color support or do regular expression searches. How can I fix that?
4.9. [version 1.1.12 and earlier] Why does nano show ^\ in the shortcut list instead of ^J?
4.10a. [version 1.1.12 and earlier] When I type in a search string, the string I last searched for is already in front of my cursor! What happened?!
4.10b. [version 1.1.99pre1 and later] Hey, the search string behavior has reverted, it's now like Pico, what happened to the consistency?
4.11. How do I make nano my default editor (in Pine, mutt, etc.)?
4.12. I've compiled nano with color support, but I don't see any color when I run it!
4.13. How do I select text for or paste text from the clipboard in an X terminal when I'm running nano in one and nano's mouse support is turned on?
4.14. When I paste text into a document, each line gets indented further than the last. Why does nano do this, and how can I avoid it?
5.1. There's no translation for my language!
5.2. I don't like the translation for <x> in my language. How can I fix it?
5.3. What is the status of Unicode support?
6.1. Why should I use nano instead of Pico?
6.2. Why should I use Pico instead of nano?
6.3. What is so bad about the older Pine license?
6.4. Okay, well, what mail program should I use then?
7.1. nano-related mailing lists.
7.2. I want to send the development team a big load of cash (or just a thank you).
7.3. How do I submit a bug report or patch?
7.4. How do I join the development team?
7.5. Can I have write access to the subversion tree?
This FAQ was originally written and maintained by Chris Allegretta <chrisa@asty.org>, who also happens to be the creator of nano. It was then maintained by David Lawrence Ramsey <pooka109@gmail.com>. Maybe someone else will volunteer to maintain this FAQ someday, who knows...
Your best bet is to send it to the nano email address, nano@nano-editor.org and if it is useful enough it will be included in future versions.
GNU nano is designed to be a free replacement for the Pico text editor, part of the Pine email suite from The University of Washington. It aims to "emulate Pico as closely as possible and perhaps include extra functionality".
Funny you should ask!
In the beginning...
For years Pine was THE program used to read email on a Unix system. The Pico text editor is the portion of the program one would use to compose his or her mail messages. Many beginners to Unix flocked to Pico and Pine because of their well organized, easy to use interfaces. With the proliferation of GNU/Linux in the mid to late 90's, many University students became intimately familiar with the strengths (and weaknesses) of Pine and Pico.
Then came Debian...
The Debian GNU/Linux distribution, known for its strict standards in distributing truly "free" software (i.e. software with no restrictions on redistribution), would not include a binary package for Pine or Pico. Many people had a serious dilemma: they loved these programs, but the versions available at the time were not truly free software in the GNU sense of the word.
The event...
It was in late 1999 when Chris Allegretta (our hero) was yet again complaining to himself about the less-than-perfect license Pico was distributed under, the 1000 makefiles that came with it and how just a few small improvements could make it the Best Editor in the World (TM). Having been a convert from Slackware to Debian, he missed having a simple binary package that included Pine and Pico, and had grown tired of downloading them himself.
Finally something snapped inside and Chris coded and hacked like a madman for many hours straight one weekend to make a (barely usable) Pico clone, at the time called TIP (Tip Isn't Pico). The program could not be invoked without a filename, could not save files, had no help text display, spell checker, and so forth. But over time it improved, and with the help of a few great coders it matured to the (hopefully) stable state it is today.
In February 2001, nano was declared an official GNU program by Richard Stallman. nano also reached its first production release on March 22, 2001.
On January 10, 2000, TIP was officially renamed to nano because of a namespace conflict with another program called 'tip'. The original 'tip' program "establishes a full duplex terminal connection to a remote host", and was included with many older Unix systems (and newer ones like Solaris). The conflict was not noticed at first because there is no 'tip' utility included with most GNU/Linux distributions (where nano was developed).
The current version of nano *should* be 2.2.0. Of course, you should always check the nano homepage to see what the latest and greatest version is.
Jeez, demanding, aren't we? Okay, look here.
The nano distribution can be downloaded at the following fine web and ftp sites:
Debian users can check out the current nano packages for:
You can also have a look at the Package Pool to see all the available binary and source packages.
Note that versions < 0.9.10 are probably not for those wanting to get serious work done, so if you are using Debian 2.2, check that you have updated to 2.2r3, which comes with nano 0.9.23. If you're tracking unstable, you probably have the newest version already.
For the 'bleeding edge' current version of nano, you can use subversion to download the current source code. Note: believe it or not, by downloading code that has not yet stabilized into an official release, there could quite possibly be bugs, in fact the code may not even compile! Anyway, see the nano SVN document for info on anonymous SVN access to the nano source.
It's simple really! As root, type rpm -Uvh nano-x.y.z-1.i386.rpm if you have a RedHat-ish system or dpkg -i nano_x.y.z-1.deb if you have a Debian-ish system, where x.y.z is the release of nano. There are other programs to install packages, and if you wish to use those, knock yourself out.
Okay, take a deep breath, this really isn't hard. Unpack the nano source with a command like:
tar -zxvf nano-x.y.z.tar.gz
If you get error messages about the -z option, try this:
gzip -dc nano-x.y.z.tar.gz | tar xvf -
(again, where x.y.z is the version number in question). Then you need to run configure with any options you might want (if any).
The average case is this:
cd nano-x.y.z/
./configure
make
make install (as root, of course)
Well, that's what the configure script defaults to. If you wish to change this, simply do this:
./configure --prefix=/usr
to put nano into /usr/bin when you run make install.
Try doing a ./configure --with-included-gettext and see if that solves your problem. You may need to do a make clean; make to get it to work fully.
Actually, it does, but you have to use make install-strip. The default make install does not, and will not, run strip automatically.
Actually, there are several parts of the editor that can be disabled. You can pass arguments to the configure script that disable certain features. Here's a brief list:
--disable-tabcomp Disable tab completion functions --disable-justify Disable justify/unjustify functions --disable-speller Disable spell checker functions --disable-help Disable help functions --disable-browser Disable built-in file browser --disable-wrapping Disable all wrapping of text (and -w flag) --disable-mouse Disable mouse support (and -m flag) --disable-operatingdir Disable setting of operating directoryThere's also the --enable-tiny option which disables everything above, as well as some larger chunks of the program (like the marker code that you use Control-^ to select with). Also, if you know you aren't going to be using other languages you can use --disable-nls to disable internationalization and save a few K to a few dozen K depending on if you have locale support on your system. And finally there's always good old strip to strip all debugging code and code that exists in libraries on your system.
If, on the other hand, you can't live without bells and whistles, you could try:
--enable-extra Enable extra features, currently only easter eggs --enable-nanorc Enable use of .nanorc files --enable-color Enable color and syntax highlighting --enable-multibuffer Enable having multiple file buffers open