diff options
Diffstat (limited to 'doc/texinfo/nano.texi')
-rw-r--r-- | doc/texinfo/nano.texi | 885 |
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 |