summaryrefslogtreecommitdiff
path: root/doc/texinfo/nano.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/texinfo/nano.texi')
-rw-r--r--doc/texinfo/nano.texi885
1 files changed, 885 insertions, 0 deletions
diff --git a/doc/texinfo/nano.texi b/doc/texinfo/nano.texi
new file mode 100644
index 0000000..fe12428
--- /dev/null
+++ b/doc/texinfo/nano.texi
@@ -0,0 +1,885 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+@setfilename nano.info
+@settitle nano Command Manual
+@c %**end of header
+
+@c This file has the new style title page commands.
+@c Run 'makeinfo' rather than 'texinfo-format-buffer'.
+@smallbook
+@set EDITION 0.1
+@set VERSION 2.2.0
+@set UPDATED 30 Nov 2009
+
+@dircategory Editors
+@direntry
+* nano: (nano). Small and friendly text editor.
+@end direntry
+
+@c tex
+@c \overfullrule=0pt
+@c end tex
+
+@titlepage
+@title GNU @code{nano}
+@subtitle a small and friendly text editor.
+@subtitle version 2.2.0
+
+@author Chris Allegretta
+@page
+
+This manual documents GNU @code{nano}, a small and friendly text
+editor.
+
+This manual is part of the GNU @code{nano} distribution.@*
+@sp4
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2009 Free Software Foundation, Inc.
+
+This document is dual-licensed. You may distribute and/or modify it
+under the terms of either of the following licenses:
+
+* The GNU General Public License, as published by the Free Software
+ Foundation, version 3 or (at your option) any later version. You
+ should have received a copy of the GNU General Public License along
+ with this program. If not, see <http://www.gnu.org/licenses/>.
+
+* The GNU Free Documentation License, as published by the Free Software
+ Foundation, version 1.2 or (at your option) any later version, with no
+ Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ You should have received a copy of the GNU Free Documentation License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+You may contact the author by
+e-mail: @email{chrisa@@asty.org}@*
+@end titlepage
+
+@node Top, Introduction, (dir), (dir)
+
+This manual documents GNU @code{nano}, a small and friendly text
+editor.
+
+@menu
+* Introduction::
+* Editor Basics::
+* Online Help::
+* Feature Toggles::
+* Nanorc Files::
+* The File Browser::
+* Pico Compatibility::
+* Building and Configure Options::
+@end menu
+
+@node Introduction, Editor Basics, Top, Top
+@chapter Introduction
+
+GNU @code{nano} is a small and friendly text editor. Besides basic text
+editing, @code{nano} offers many extra features like an interactive
+search and replace, go to line and column number, auto-indentation,
+feature toggles, internationalization support, and filename tab
+completion.
+
+@menu
+* Overview::
+* Command Line Options::
+@end menu
+
+@node Overview, Command Line Options, Introduction, Introduction
+@section Overview
+
+The original goal for @code{nano} was a complete bug-for-bug compatible
+emulation of Pico, but @code{nano}'s current goal is to be as compatible
+as possible while offering a superset of Pico's functionality. See
+@xref{Pico Compatibility}, for more info.
+
+The usual way to invoke @code{nano} is:
+
+@quotation
+@code{nano [OPTION]@dots{} [FILE]}
+@end quotation
+
+But it is also possible to edit several files in a row. Additionally,
+the cursor can be put on a desired line number by adding this number
+with a plus sign before any filename, and even in a desired column by
+adding it with a comma. So the complete synopsis is:
+
+@quotation
+@code{nano [OPTION]@dots{} [[+LINE] FILE]@dots{}}
+
+@code{nano [OPTION]@dots{} [[+,COLUMN] FILE]@dots{}}
+
+@code{nano [OPTION]@dots{} [[+LINE,COLUMN] FILE]@dots{}}
+@end quotation
+
+Email bug reports to @email{nano@@nano-editor.org}.
+
+@node Command Line Options, , Overview, Introduction
+@section Command Line Options
+
+@code{nano} takes the following options from the command line:
+
+@table @code
+@item +LINE,COLUMN
+Start at line number LINE and column number COLUMN (at least one of
+which must be specified) instead of the default of line 1, column 1.
+
+@item -?
+Same as @code{-h, --help}.
+
+@item -A, --smarthome
+Make the Home key smarter. When Home is pressed anywhere but at the
+very beginning of non-whitespace characters on a line, the cursor will
+jump to that beginning (either forwards or backwards). If the cursor is
+already at that position, it will jump to the true beginning of the
+line.
+
+@item -B, --backup
+When saving a file, back up the previous version of it to the current
+filename suffixed with a ~.
+
+@item -C <dir>, --backupdir=<dir>
+Set the directory where @code{nano} puts unique backup files if file
+backups are enabled.
+
+@item -D, --boldtext
+Use bold text instead of reverse video text.
+
+@item -E, --tabstospaces
+Convert typed tabs to spaces.
+
+@item -F, --multibuffer
+Enable multiple file buffers, if available.
+
+@item -H, --historylog
+Log search and replace strings to ~/.nano_history, so they can be
+retrieved in later sessions, if nanorc support is available.
+
+@item -I, --ignorercfiles
+Don't look at SYSCONFDIR/nanorc or ~/.nanorc, if nanorc support is
+available.
+
+@item -K, --rebindkeypad
+Interpret the numeric keypad keys so that they all work properly. You
+should only need to use this option if they don't, as mouse support
+won't work properly with this option enabled.
+
+@item -L, --nonewlines
+Don't add newlines to the ends of files.
+
+@item -N, --noconvert
+Don't convert files from DOS/Mac format.
+
+@item -O, --morespace
+Use the blank line below the titlebar as extra editing space.
+
+@item -Q <str>, --quotestr=<str>
+Set the quoting string for justifying. The default value is
+
+@quotation
+@code{^([ \t]*[|>:@}#])+}
+@end quotation
+
+if extended regular expression support is available, or "> " otherwise.
+Note that @code{\t} above stands for a literal Tab character.
+
+@item -R, --restricted
+Restricted mode: don't read or write to any file not specified on the
+command line; read any nanorc files; allow suspending; allow a file to
+be appended to, prepended to, or saved under a different name if it
+already has one; or use backup files or spell checking. Also accessible
+by invoking @code{nano} with any name beginning with 'r' (e.g. "rnano").
+
+@item -S, --smooth
+Enable smooth scrolling. Text will scroll line-by-line, instead of the
+usual chunk-by-chunk behavior.
+
+@item -T <#cols>, --tabsize=<#cols>
+Set the displayed tab length to #cols columns. The value of #cols must
+be greater than 0. The default value is 8.
+
+@item -U, --quickblank
+Do quick statusbar blanking. Statusbar messages will disappear after 1
+keystroke instead of 25. Note that -c overrides this.
+
+@item -V, --version
+Show the current version number and exit.
+
+@item -W, --wordbounds
+Detect word boundaries more accurately by treating punctuation
+characters as parts of words.
+
+@item -Y <str>, --syntax=<str>
+Specify a specific syntax highlighting from the nanorc to use, if
+available. See @xref{Nanorc Files}, for more info.
+
+@item -c, --const
+Constantly display the cursor position and line number on the statusbar.
+Note that this overrides -U.
+
+@item -d, --rebinddelete
+Interpret the Delete key differently so that both Backspace and Delete
+work properly. You should only need to use this option if Backspace
+acts like Delete on your system.
+
+@item -h, --help
+Show a summary of command line options and exit.
+
+@item -i, --autoindent
+Automatically indent new lines to the same number of spaces and tabs as
+the previous line.
+
+@item -k, --cut
+Cut from the current cursor position to the end of the current line.
+
+@item -l, --nofollow
+When writing files, if the given file is a symbolic link, it is removed
+and a new file is created.
+
+@item -m, --mouse
+Enable mouse support, if available for your system. When enabled, mouse
+clicks can be used to place the cursor, set the mark (with a double
+click), and execute shortcuts. The mouse will work in the X Window
+System, and on the console when gpm is running.
+
+@item -o <dir>, --operatingdir=<dir>
+Set operating directory. Makes @code{nano} set up something similar to
+a chroot.
+
+@item -p, --preserve
+Preserve the ^Q (XON) and ^S (XOFF) sequences so data being sent to the
+editor can be can be stopped and started.
+
+@item -q, --quiet
+Do not report errors in the nanorc file and ask them to be acknowledged
+by pressing Enter at startup.
+
+@item -r <#cols>, --fill=<#cols>
+Wrap lines at column #cols. If this value is 0 or less, wrapping will
+occur at the width of the screen less #cols, allowing it to vary along
+with the width of the screen if the screen is resized. The default
+value is -8.
+
+@item -s <prog>, --speller=<prog>
+Invoke the given program as the spell checker. By default, @code{nano}
+uses the command specified in the SPELL environment variable, or, if
+SPELL is not set, its own interactive spell checker that requires the
+@code{spell} program to be installed on your system.
+
+@item -t, --tempfile
+Don't ask whether or not to save the current contents of the file when
+exiting, assume yes. This is most useful when using @code{nano} as the
+composer of a mailer program.
+
+@item -u, --undo
+Enable experimental generic-purpose undo code. By default, the undo and
+redo shortcuts are Meta-U and Meta-E, respectively.
+
+@item -v, --view
+Don't allow the contents of the file to be altered. Note that this
+option should NOT be used in place of correct file permissions to
+implement a read-only file.
+
+@item -w, --nowrap
+Don't wrap long lines at any length. This option overrides any value
+for -r.
+
+@anchor{Expert Mode}
+@item -x, --nohelp
+Expert Mode: don't show the Shortcut Lists at the bottom of the screen.
+This affects the location of the statusbar as well, as in Expert Mode it
+is located at the very bottom of the editor.
+
+Note: When accessing the help system, Expert Mode is temporarily
+disabled to display the help system navigation keys.
+
+@item -z, --suspend
+Enable @code{nano}'s suspend ability using the system's suspend
+keystroke (usually ^Z).
+
+@item -$, --softwrap
+Enable 'soft wrapping'. @code{nano} will attempt to display the entire
+contents of a line, even if it is longer than the screen width. Since
+'$' normally refers to a variable in the Unix shell, you should specify
+this option last when using other options (e.g. 'nano -wS$') or pass it
+separately (e.g. 'nano -wS -$').
+
+@item -a, -b, -e, -f, -g, -j
+Ignored, for compatibility with Pico.
+@end table
+
+
+@node Editor Basics, Online Help, Introduction, Top
+@chapter Editor Basics
+@menu
+* Entering Text::
+* Special Functions::
+* The Titlebar::
+* The Statusbar::
+* Shortcut Lists::
+* Using the Mouse::
+@end menu
+
+@node Entering Text, Special Functions, Editor Basics, Editor Basics
+@section Entering Text
+
+All key sequences in @code{nano} are entered using the keyboard.
+@code{nano} is a "modeless" editor. All keys, with the exception of
+Control and Meta key sequences, will enter text into the file being
+edited.
+
+@node Special Functions, The Titlebar, Entering Text, Editor Basics
+@section Special Functions
+
+Special functions use the Control (Ctrl) key, displayed in the help and
+shortcut lists as ^; the Meta key, displayed as M; or the Escape (Esc)
+key.
+
+@itemize @bullet
+@item
+Control key sequences are entered by holding down the Ctrl key and
+pressing the desired key, or by pressing the Esc key twice and pressing
+the desired key.
+@item
+Pressing Esc twice and then typing a three-digit number from 000 to 255
+will enter the character with the corresponding value.
+@item
+Meta key sequences are entered by holding down the Meta key (normally
+the Alt key) and pressing the desired key, or by pressing the Esc key
+once and pressing the desired key. Certain operating systems "swallow"
+the Alt key so that it never reaches the application; if your operating
+system does this, you should use the Esc key to generate Meta key
+sequences.
+@end itemize
+
+@node The Titlebar, The Statusbar, Special Functions, Editor Basics
+@section The Titlebar
+
+The titlebar is the line displayed at the top of the editor. There are
+three sections: left, center and right. The section on the left
+displays the version of @code{nano} being used. The center section
+displays the current filename, or "New Buffer" if the file has not yet
+been named. The section on the right will display "Modified" if the
+file has been modified since it was last saved or opened.
+
+Special modes: When @code{nano} is in "File browser" mode, the center
+section will display the current directory instead of the filename. See
+@xref{The File Browser}, for more info.
+
+@node The Statusbar, Shortcut Lists, The Titlebar, Editor Basics
+@section The Statusbar
+
+The statusbar is the third line from the bottom of the screen, or the
+bottom line in Expert Mode. See @xref{Expert Mode}, for more info. It
+shows important and informational messages. Any error messages that
+occur from using the editor will appear on the statusbar. Any questions
+that are asked of the user will be asked on the statusbar, and any user
+input (search strings, filenames, etc.) will be input on the statusbar.
+
+@node Shortcut Lists, Using the Mouse, The Statusbar, Editor Basics
+@section Shortcut Lists
+
+The Shortcut Lists are the two lines at the bottom of the screen which
+show some of the more commonly used functions in the editor.
+
+@node Using the Mouse, , Shortcut Lists, Editor Basics
+@section Using the Mouse
+
+When mouse support has been configured and enabled, a single mouse click
+places the cursor at the indicated position. Clicking a second time in
+the same position toggles the mark. Clicking in the shortcut list
+executes the selected shortcut.
+
+The mouse will work in the X Window System, and on the console when gpm
+is running.
+
+
+@node Online Help, Feature Toggles, Editor Basics, Top
+@chapter Online Help
+
+The online help system in @code{nano} is available by pressing ^G.
+It is fairly self explanatory, documenting the various parts of the
+editor and available keystrokes. Navigation is via the ^Y (Page Up)
+and ^V (Page Down) keys. ^X exits the help system.
+
+
+@node Feature Toggles, Nanorc Files, Online Help, Top
+@chapter Feature Toggles
+
+Toggles allow you to change certain aspects of the editor that would
+normally be done via command line options. They are invoked via Meta
+key sequences. See @xref{Special Functions}, for more info. The
+following global toggles are available:
+
+@table @code
+
+@item Backup Files Toggle (Meta-B)
+toggles the -B (@code{--backup}) command line option.
+
+@item Constant Cursor Position Display Toggle (Meta-C)
+toggles the -c (@code{--const}) command line option.
+
+@item Multiple File Buffers Toggle (Meta-F)
+toggles the -F (@code{--multibuffer}) command line option.
+
+@item Smart Home Key Toggle (Meta-H)
+toggles the -A (@code{--smarthome}) command line option.
+
+@item Auto Indent Toggle (Meta-I)
+toggles the -i (@code{--autoindent}) command line option.
+
+@item Cut To End Toggle (Meta-K)
+toggles the -k (@code{--cut}) command line option.
+
+@item Long Line Wrapping Toggle (Meta-L)
+toggles the -w (@code{--nowrap}) command line option.
+
+@item Mouse Support Toggle (Meta-M)
+toggles the -m (@code{--mouse}) command line option.
+
+@item No Conversion From DOS/Mac Format Toggle (Meta-N)
+toggles the -N (@code{--noconvert}) command line option.
+
+@item More Space For Editing Toggle (Meta-O)
+toggles the -O (@code{--morespace}) command line option.
+
+@item Whitespace Display Toggle (Meta-P)
+toggles whitespace display mode if you have a "whitespace" option in
+your nanorc. See @xref{Nanorc Files}, for more info.
+
+@item Tabs to Spaces Toggle (Meta-Q)
+toggles the -E (@code{--tabstospaces}) command line option.
+
+@item Smooth Scrolling Toggle (Meta-S)
+toggles the -S (@code{--smooth}) command line option.
+
+@item Expert/No Help Toggle (Meta-X)
+toggles the -x (@code{--nohelp}) command line option.
+
+@item Color Syntax Highlighting Toggle (Meta-Y)
+toggles color syntax highlighting if you have color syntaxes in your
+nanorc. See @xref{Nanorc Files}, for more info.
+
+@item Suspend Toggle (Meta-Z)
+toggles the -z (@code{--suspend}) command line option.
+
+@item Soft Wrapping Toggle (Meta-$)
+toggles the -$ (@code{--softwrap}) command line option.
+
+@end table
+
+
+@node Nanorc Files, The File Browser, Feature Toggles, Top
+@chapter Nanorc Files
+
+The nanorc files contain the default settings for @code{nano}. They
+should not be in DOS or Mac format. During startup, @code{nano} will
+first read its system-wide settings from SYSCONFDIR/nanorc, and then
+user-specific settings from ~/.nanorc.
+
+A nanorc file accepts a series of "set" and "unset" commands, which can
+be used to configure @code{nano} on startup without using the command
+line options. Additionally, the "syntax", "color", and "icolor"
+keywords are used to define syntax highlighting rules for different text
+patterns. @code{nano} will read one command per line.
+
+Options in nanorc files take precedence over @code{nano}'s defaults, and
+command line options override nanorc settings. Options are also unset
+by default, except for those that take arguments.
+
+Quotes inside string parameters don't have to be escaped with
+backslashes. The last double quote in the string will be treated as its
+end. For example, for the "brackets" option,
+
+@quotation
+@code{""')>]@}"}
+@end quotation
+
+will match @code{"}, @code{'}, @code{)}, @code{>}, @code{]}, and
+@code{@}}.
+
+The supported commands and arguments are:
+
+@table @code
+
+@item set/unset autoindent
+Use auto-indentation.
+
+@item set/unset backup
+Create backup files in "filename~".
+
+@item set backupdir "directory"
+Set the directory where @code{nano} puts unique backup files if file
+backups are enabled.
+
+@item set/unset backwards
+Do backwards searches by default.
+
+@item set/unset boldtext
+Use bold text instead of reverse video text.
+
+@item set brackets "string"
+Set the characters treated as closing brackets when justifying
+paragraphs. They cannot contain blank characters. Only closing
+punctuation, optionally followed by closing brackets, can end sentences.
+The default value is
+
+@quotation
+@code{""')>]@}"}
+@end quotation
+
+@item set/unset casesensitive
+Do case sensitive searches by default.
+
+@item set/unset const
+Constantly display the cursor position in the status bar.
+
+@item set/unset cut
+Use cut to end of line by default, instead of cutting the whole line.
+
+@item set fill "n"
+Wrap lines at column number "n". If "n" is 0 or less, the maximum line
+length will be the screen width less "n" columns. The default value is
+-8.
+
+@item set/unset historylog
+Enable ~/.nano_history for saving and reading search/replace strings.
+
+@item set matchbrackets "string"
+Set the opening and closing brackets that can be found by bracket
+searches. They cannot contain blank characters. The former set must
+come before the latter set, and both must be in the same order. The
+default value is
+
+@quotation
+@code{"(<[@{)>]@}"}
+@end quotation
+
+@item set/unset morespace
+Use the blank line below the titlebar as extra editing space.
+
+@item set/unset mouse
+Enable mouse support, so that mouse clicks can be used to place the
+cursor, set the mark (with a double click), or execute shortcuts.
+
+@item set/unset multibuffer
+Allow inserting files into their own buffers.
+
+@item set/unset noconvert
+Don't convert files from DOS/Mac format.
+
+@item set/unset nofollow
+Don't follow symlinks when writing files.
+
+@item set/unset nohelp
+Don't display the help lists at the bottom of the screen.
+
+@item set/unset nonewlines
+Don't add newlines to the ends of files.
+
+@item set/unset nowrap
+Don't wrap text at all.
+
+@item set operatingdir "directory"
+@code{nano} will only read and write files inside "directory" and its
+subdirectories. Also, the current directory is changed to here, so
+files are inserted from this directory. By default, the operating
+directory feature is turned off.
+
+@item set/unset preserve
+Preserve the XON and XOFF keys (^Q and ^S).
+
+@item set punct "string"
+Set the characters treated as closing punctuation when justifying
+paragraphs. They cannot contain blank characters. Only closing
+punctuation, optionally followed by closing brackets, can end sentences.
+The default value is @code{"!.?"}.
+
+@item set/unset quickblank
+Do quick statusbar blanking. Statusbar messages will disappear after 1
+keystroke instead of 25.
+
+@item set quotestr "string"
+The email-quote string, used to justify email-quoted paragraphs. This
+is an extended regular expression if your system supports them,
+otherwise a literal string. The default value is
+
+@quotation
+@code{"^([ \\t]*[#:>\\|@}])+"}
+@end quotation
+
+if you have extended regular expression support, or "> " otherwise.
+Note that '\\t' stands for a literal Tab character.
+
+@item set/unset rebinddelete
+Interpret the Delete key differently so that both Backspace and Delete
+work properly. You should only need to use this option if Backspace
+acts like Delete on your system.
+
+@item set/unset rebindkeypad
+Interpret the numeric keypad keys so that they all work properly. You
+should only need to use this option if they don't, as mouse support
+won't work properly with this option enabled.
+
+@item set/unset regexp
+Do extended regular expression searches by default.
+
+@item set/unset smarthome
+Make the Home key smarter. When Home is pressed anywhere but at the
+very beginning of non-whitespace characters on a line, the cursor will
+jump to that beginning (either forwards or backwards). If the cursor is
+already at that position, it will jump to the true beginning of the
+line.
+
+@item set/unset smooth
+Use smooth scrolling by default.
+
+@item set/unset softwrap
+Use soft wrapping by default.
+
+@item set speller "spellprog"
+Use spelling checker "spellprog" instead of the built-in one, which
+calls "spell".
+
+@item set/unset suspend
+Allow @code{nano} to be suspended.
+
+@item set/unset suspendenable
+If @code{nano} is allowed to be suspended, allow the suspend key
+(usually ^Z) to actually suspend it.
+
+@item set tabsize "n"
+Use a tab size of "n" columns. The value of "n" must be greater than 0.
+The default value is 8.
+
+@item set/unset tabstospaces
+Convert typed tabs to spaces.
+
+@item set/unset tempfile
+Save automatically on exit, don't prompt.
+
+@item set/unset undo
+Enable experimental generic-purpose undo code.
+
+@item set/unset view
+Disallow file modification.
+
+@item set whitespace "string"
+Set the two characters used to display the first characters of tabs and
+spaces. They must be single-column characters.
+
+@item set/unset wordbounds
+Detect word boundaries more accurately by treating punctuation
+characters as part of a word.
+
+@item syntax "str" ["fileregex" @dots{} ]
+Defines a syntax named "str" which can be activated via the -Y/--syntax
+command line option, or will be automatically activated if the current
+filename matches the extended regular expression "fileregex". All
+following "color" and "icolor" statements will apply to "syntax" until a
+new syntax is defined.
+
+The "none" syntax is reserved; specifying it on the command line is the
+same as not having a syntax at all. The "default" syntax is special: it
+takes no "fileregex", and applies to files that don't match any other
+syntax's "fileregex".
+
+@item color fgcolor,bgcolor "regex" @dots{}
+For the currently defined syntax, display all expressions matching the
+extended regular expression "regex" with foreground color "fgcolor" and
+background color "bgcolor", at least one of which must be specified.
+Legal colors for foreground and background color are: white, black, red,
+blue, green, yellow, magenta, and cyan. You may use the prefix "bright"
+to force a stronger color highlight for the foreground. If your
+terminal supports transparency, not specifying a "bgcolor" tells "nano"
+to attempt to use a transparent background.
+
+@item icolor fgcolor,bgcolor "regex" @dots{}
+Same as above, except that the expression matching is case insensitive.
+
+@item color fgcolor,bgcolor start="sr" end="er"
+Display expressions which start with the extended regular expression
+"sr" and end with the extended regular expression "er" with foreground
+color "fgcolor" and background color "bgcolor", at least one of which
+must be specified. This allows syntax highlighting to span multiple
+lines. Note that all subsequent instances of "sr" after an initial "sr"
+is found will be highlighted until the first instance of "er".
+
+@item icolor fgcolor,bgcolor start="sr" end="er"
+Same as above, except that the expression matching is case insensitive.
+
+@item include "syntaxfile"
+Read in self-contained color syntaxes from "syntaxfile". Note that
+"syntaxfile" can only contain "syntax", "color", and "icolor" commands.
+
+@end table
+
+
+@node The File Browser, Pico Compatibility, Nanorc Files, Top
+@chapter The File Browser
+
+When reading or writing files, pressing ^T will invoke the file browser.
+Here, one can navigate directories in a graphical manner in order to
+find the desired file.
+
+Basic movement in the file browser is accomplished with the arrow keys,
+page up, and page down. More advanced movement is accomplished by
+searching via ^W (or 'w') and changing directories via ^_ (or 'g'). The
+behavior of the Enter (or 's') key varies by what is currently selected.
+If the currently selected object is a directory, the file browser will
+enter and display the contents of the directory. If the object is a
+file, this filename and path are copied to the statusbar, and the file
+browser exits.
+
+@node Pico Compatibility, Building and Configure Options, The File Browser, Top
+@chapter Pico Compatibility
+
+@code{nano} attempts to emulate Pico as closely as possible, but there
+are certain differences between the editors:
+
+@table @code
+@item Search and Replace History
+As of version 1.1.99pre1 of @code{nano}, text entered as search or
+replace strings will be stored and can be accessed with the up/down
+arrow keys. Previously, @code{nano} offered a more consistent, but
+incompatible with Pico, method for entering search and replace strings.
+In the old method, previous entries would be displayed by default as
+editable text in front of the cursor, as opposed to being bracketed and
+uneditable as it is in Pico. The old behavior could be made compatible
+with Pico via the @code{-p} option, but recent versions of Pico use the
+@code{-p} option to preserve the XON and XOFF sequences within the
+editor. Since, with the new method, search and replace strings can
+still be edited by simply hitting the up arrow key once, the old method
+was removed completely.
+
+
+@item Writing, Appending, or Prepending Selected Text to Files
+Text selected using the marking key (^^) can be written out, appended,
+or prepended to a new or existing file using the WriteOut key (^O).
+
+@item Toggles
+Many options which alter the functionality of the program can be
+"toggled" on or off using Meta key sequences, meaning the program does
+not have to be restarted to turn a particular feature of the editor on
+or off. Please see the internal help function (^G) for a list of what
+functions can be toggled for a particular version of @code{nano}. See
+@xref{Feature Toggles}, for more info.
+
+@item Cursor Position Display
+The output of the "Display Cursor Position" in @code{nano} displays
+the given column position, as well as the row and total character
+position of the cursor.
+
+@item Interactive Replace and Spell Checker
+It is worth noting that @code{nano}'s replace function is interactive,
+i.e. it does not stop after one search string is found and automatically
+replace it. The @code{nano} implementation will pause at each search
+string found and query whether to replace this instance or not. The
+internal spell checker operates similarly. Note that there is no way to
+force these functions to behave in the Pico fashion. As of version
+1.1.99pre1, misspelled words are sorted and trimmed for uniqueness in
+the internal spell checker such that the words 'apple' and 'Apple' will
+be prompted for correction separately.
+@end table
+
+@node Building and Configure Options, , Pico Compatibility, Top
+@chapter Building and Configure Options
+
+Building @code{nano} from source is fairly straightforward if you are
+familiar with compiling programs with autoconf support:
+
+@itemize @bullet
+@item tar xvfz nano-x.y.z.tar.gz (where x.y.z is the version of
+@code{nano})
+@item cd nano-x.y.z/
+@item ./configure
+@item make
+@item make install
+@end itemize
+
+The possible options to @code{./configure} are:
+
+@table @code
+
+@item --disable-browser
+Disable the mini file browser when reading or writing files.
+
+@item --disable-help
+Disable the help function. Doing this makes the binary much smaller,
+but makes it difficult for new users to learn more than very basic
+things about using the editor.
+
+@item --disable-justify
+Disable the justify and unjustify functions.
+
+@item --disable-mouse
+Disable all mouse functionality. This also disables the -m command line
+option, which enables the mouse functionality.
+
+@item --disable-operatingdir
+Disable setting the operating directory. This also disables the -o
+command line option, which sets the operating directory.
+
+@item --disable-speller
+Disable use of the spell checker. This also disables the -s command
+line option, which allows specifying an alternate spell checker.
+
+@item --disable-tabcomp
+Disable the tab completion code when reading or writing files.
+
+@item --disable-wrapping
+Disable all long line wrapping. This also eliminates the -w command
+line option, which enables long line wrapping.
+
+@item --enable-tiny
+This option disables all the above. It also disables some of the larger
+internals of the editor, like the marking code and the cut to end of
+line code. It also disables the function toggles.
+
+@item --enable-debug
+Enable support for runtime debug output. This can get pretty messy, so
+chances are you only want this feature to work on the nano source.
+
+@item --enable-extra
+Enable extra features. At the moment, this is just easter egg-type
+stuff.
+
+@item --enable-color
+Enable support for syntax coloring of files using the nanorc file. This
+enables nanorc support as well.
+
+@item --enable-multibuffer
+Enable support for opening multiple files at a time and switching
+between them on the fly.
+
+@item --enable-nanorc
+Enable support for reading the nanorc file at startup. You can store
+custom settings in the nanorc file rather than having to pass command
+line options to get desired behavior. See @xref{Nanorc Files}, for
+more info.
+
+@item --enable-all
+Shortcut for enabling the above four features (extra, color,
+multibuffer, and nanorc).
+
+@item --disable-nls
+Disables Native Language support. This will disable use of the
+available GNU @code{nano} translations.
+
+@item --disable-wrapping-as-root
+Disable long line wrapping by default when nano is run as root.
+
+@item --enable-utf8
+Enable support for reading and writing Unicode files. This will require
+either a wide version of curses, or a UTF-8-enabled version of Slang.
+
+@item --disable-utf8
+Disable support for reading and writing Unicode files.
+
+@item --with-slang
+Compiling @code{nano} with Slang is supported, and will make the binary
+notably smaller than if compiled with ncurses or other curses libraries.
+
+@end table
+
+@contents
+@bye