Content-type: text/html

<HTML><HEAD><TITLE>Manpage of NANO</TITLE>
</HEAD><BODY>
<H1>NANO</H1>
Section: User Commands  (1)<BR>Updated: November 27, 2000<BR><A HREF="#index">Index</A>
<A HREF="http://localhost/cgi-bin/man/man2html">Return to Main Contents</A><HR>













<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>

nano - Nano's ANOther editor, an enhanced free Pico Clone
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>

<B>nano</B>

[options]&nbsp;[+LINE]<I> file</I>

<BR>

<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>

This manual page documents briefly the
<B>nano</B>

command.
<P>




<B>nano</B> was originally known as TIP (TIP Isn't Pico). It is a small,
free and friendly editor which aims to replace Pico, the default editor
included in the non-free Pine package. Rather than just copying Pico's
look and feel, 
<B>nano</B>

also implements some missing (or disabled by
default) features in Pico, such as &quot;search and replace&quot; and &quot;goto line
number&quot;.
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>

<DL COMPACT>
<DT><B>-T (--tabsize)</B>

<DD>
Set the size (width) of a tab.
<DT><B>-R (--regexp)</B>

<DD>
Enable regular expression matching for search strings, as well as
\n subexpression replacement for replace strings, if available.
<DT><B>-V (--version)</B>

<DD>
Show the current version number and author.
<DT><B>-h (--help)</B>

<DD>
Display a summary of commandline options.
<DT><B>-c (--const)</B>

<DD>
Constantly show the cursor position.
<DT><B>-k (--cut)</B>

<DD>
Enable cut from cursor to end of line with ^K.
<DT><B>-i (--autoindent)</B>

<DD>
Indent new lines to the previous line's indentation. Useful when editing
source code.
<DT><B>-l (--nofollow)</B>

<DD>
If the file being edited is a symbolic link, replace the link with a 
a new file, do not follow it.  Good for editing files in /tmp perhaps?
<DT><B>-m (--mouse)</B>

<DD>
Enable mouse support (if available for your system).
<DT><B>-p (--pico)</B>

<DD>
Emulate Pico as closely as possible.
<DT><B>-s (--speller)</B>

<DD>
Enable alternative spell checker command.
<DT><B>-t (--tempfile)</B>

<DD>
Always save changed buffer without prompting. Same as Pico -t option.
<DT><B>-v (--view)</B>

<DD>
View file (read only) mode.
<DT><B>-w (--nowrap)</B>

<DD>
Disable wrapping of long lines.
<DT><B>-x (--nohelp)</B>

<DD>
Disable help screen at bottom of editor.
<DT><B>-z (--suspend)</B>

<DD>
Enable suspend ability.
<DT><B>+LINE</B>

<DD>
Places cursor at LINE on startup.
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>BUGS</H2>

Please send any comments or bug reports to
<B><A HREF="mailto:nano@nano-editor.org">nano@nano-editor.org</A>.</B>

The nano mailing list is available from
<B><A HREF="mailto:nano-devel@lists.sourceforge.net">nano-devel@lists.sourceforge.net</A>.</B>

To subscribe, email to <A HREF="mailto:nano-devel-request@lists.sourceforge.net">nano-devel-request@lists.sourceforge.net</A> with a
subject of &quot;subscribe&quot;.
<A NAME="lbAG">&nbsp;</A>
<H2>HOMEPAGE</H2>

<A HREF="http://www.nano-editor.org">http://www.nano-editor.org</A>
<A NAME="lbAH">&nbsp;</A>
<H2>AUTHOR</H2>

Chris Allegretta &lt;<A HREF="mailto:chrisa@asty.org">chrisa@asty.org</A>&gt;, et al.  This manual page was
originally written by Jordi Mallach &lt;<A HREF="mailto:jordi@sindominio.net">jordi@sindominio.net</A>&gt;, for the Debian
GNU/Linux system (but may be used by others).
<P>

<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT><A HREF="#lbAE">OPTIONS</A><DD>
<DT><A HREF="#lbAF">BUGS</A><DD>
<DT><A HREF="#lbAG">HOMEPAGE</A><DD>
<DT><A HREF="#lbAH">AUTHOR</A><DD>
</DL>
<HR>
This document was created by
<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 21:33:46 GMT, November 19, 2000
</BODY>
</HTML>
