as possible while offering a superset of Pico's functionality. See
@xref{Pico Compatibility}, for more info.
+Please report bugs via @url{https://savannah.gnu.org/bugs/?group=nano}.
+
@node Invoking
@chapter Invoking
(making @code{nano} remember the cursor position), you will rarely
need to specify a line number.
-Please email any bug reports to @email{nano@@nano-editor.org}.
-Or file them at @url{https://savannah.gnu.org/bugs/?group=nano}.
-
@node Command-line Options
@chapter Command-line Options
@command{nano} takes the following options from the command line:
@table @option
+
@item +@var{line},@var{column}
Start at line number @var{line} and column number @var{column} (at least one of
which must be specified) instead of the default of line 1, column 1.
@item -w
@itemx --nowrap
Don't hard-wrap long lines at any length. This option conflicts with
-@option{-r} -- the last one given takes effect.
+@option{-r} --- the last one given takes effect.
@anchor{Expert Mode}
@item -x
@itemx -g
@itemx -j
Ignored, for compatibility with Pico.
+
@end table
@node Feature Toggles
@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:
+Toggles allow you to change on-the-fly certain aspects of the editor
+which would normally be specified 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.
+toggles the -B (@code{--backup}) command-line option.
@item Constant Cursor Position Display Toggle (Meta-C)
-toggles the -c (@code{--const}) command line option.
+toggles the -c (@code{--const}) command-line option.
@item Multiple File Buffers Toggle (Meta-F)
-toggles the -F (@code{--multibuffer}) command line option.
+toggles the -F (@code{--multibuffer}) command-line option.
@item Smart Home Key Toggle (Meta-H)
-toggles the -A (@code{--smarthome}) command line option.
+toggles the -A (@code{--smarthome}) command-line option.
@item Auto Indent Toggle (Meta-I)
-toggles the -i (@code{--autoindent}) command line option.
+toggles the -i (@code{--autoindent}) command-line option.
@item Cut To End Toggle (Meta-K)
-toggles the -k (@code{--cut}) command line option.
+toggles the -k (@code{--cut}) command-line option.
@item Long Line Wrapping Toggle (Meta-L)
-toggles the -w (@code{--nowrap}) command line option.
+toggles the -w (@code{--nowrap}) command-line option.
@item Mouse Support Toggle (Meta-M)
-toggles the -m (@code{--mouse}) command line option.
+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.
+toggles the -N (@code{--noconvert}) command-line option.
@item More Space For Editing Toggle (Meta-O)
-toggles the -O (@code{--morespace}) command line option.
+toggles the -O (@code{--morespace}) command-line option.
@item Whitespace Display Toggle (Meta-P)
-toggles whitespace-display mode.
+toggles the whitespace-display mode.
See @xref{Whitespace}, for more info.
@item Tabs to Spaces Toggle (Meta-Q)
-toggles the -E (@code{--tabstospaces}) command line option.
+toggles the -E (@code{--tabstospaces}) command-line option.
@item Smooth Scrolling Toggle (Meta-S)
-toggles the -S (@code{--smooth}) command line option.
+toggles the -S (@code{--smooth}) command-line option.
@item Expert/No Help Toggle (Meta-X)
-toggles the -x (@code{--nohelp}) command line option.
+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{Syntax Highlighting}, for more info.
@item Suspend Toggle (Meta-Z)
-toggles the -z (@code{--suspend}) command line option.
+toggles the -z (@code{--suspend}) command-line option.
@item Soft Wrapping Toggle (Meta-$)
-toggles the -$ (@code{--softwrap}) command line option.
+toggles the -$ (@code{--softwrap}) command-line option.
@end table
A nanorc file accepts a series of "set" and "unset" commands, which can
be used to configure @code{nano} on startup without using command-line
options. Additionally, there are some commands to define syntax highlighting
-and to rebind keys -- @xref{Syntax Highlighting}, and @xref{Rebinding Keys}.
+and to rebind keys --- @xref{Syntax Highlighting}, and @xref{Rebinding Keys}.
@code{nano} will read one command per line.
Options in nanorc files take precedence over @code{nano}'s defaults, and
or into a new buffer when option @code{multibuffer} is set.
@item whereis
-Searches for text in the current buffer -- or for filenames matching
+Searches for text in the current buffer --- or for filenames matching
a string in the current list in the file browser
@item searchagain
A special name that encompasses all menus. For @code{bind} it means
all menus where the specified @code{function} exists; for @code{unbind}
it means all menus where the specified @code{key} exists.
+
@end table
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 Interactive Replace
+Instead of allowing you to replace either just one occurrence of a search
+string or all of them, @code{nano}'s replace function is interactive: it
+will pause at each found search string and query whether to replace this
+instance. You can then choose Yes, or No (skip this one), or All (don't
+ask any more), or Cancel (stop with replacing).
+
+@item Search and Replace History
+When the option @code{-H} or @code{--historylog} is given (or set in
+the .nanorc file), text entered as search or replace strings is stored.
+These strings can be accessed with the up/down arrow keys. A retrieved
+string can subsequently be edited.
@item Writing, Appending, or Prepending Selected Text to Files
Text selected using the marking key (^^) can be written out, appended,
@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 current line position of the cursor, as well as the column and
-total character position.
-
-@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 was found and automatically
-replaced. The @code{nano} implementation will pause at each found
-search string 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
+not have to be restarted to turn a particular feature on or off.
+See the internal help function (^G) for a list of features that
+can be toggled. Or see @xref{Feature Toggles} instead.
+
+@item Current Cursor Position
+The output of the "Display Cursor Position" command (^C) displays
+not only the current line and character position of the cursor,
+but also (between the two) the current column position.
+
+@item Spell Checking
+In the internal spell checker misspelled words are sorted alphabetically
+and trimmed for uniqueness, such that the words 'apple' and 'Apple' will
be prompted for correction separately.
+
@end table
@item --disable-color
Disable support for the syntax coloring of files. This also eliminates
-the -Y command-line option, which chooses a specific syntax.
+the @code{-Y} command-line option, which chooses a specific syntax.
@item --disable-extra
Disable extra features. At the moment, this is just easter-egg-type
@item --disable-histories
Disable the code for the handling of the history files: the search and
replace strings that were used, and the cursor position at which each
-file was closed. This also eliminates the -H and -P command-line
-options, which switch on the logging of search/replace strings and
-cursor positions.
+file was closed. This also eliminates the @code{-H} and @code{-P}
+command-line options, which switch on the logging of search/replace
+strings and cursor positions.
@item --disable-justify
Disable the justify and unjustify functions.
@item --disable-libmagic
Disable the use of the library of magic-number tests (for determining
-the file type and thus which syntax to use for colouring -- often the
+the file type and thus which syntax to use for colouring --- often the
tests on filename extension and header line will be enough).
@item --disable-mouse
-Disable all mouse functionality. This also eliminates the -m
+Disable all mouse functionality. This also eliminates the @code{-m}
command-line option, which enables the mouse functionality.
@item --disable-multibuffer
Disable support for opening multiple files at a time and switching
-between them on the fly. This also eliminates the -F command-line
+between them on the fly. This also eliminates the @code{-F} command-line
option, which causes a file to be read into a separate buffer by default.
@item --disable-nanorc
support, you can store custom settings in a system-wide and a per-user
nanorc file rather than having to pass command-line options to get
the desired behavior. See @xref{Nanorc Files}, for more info.
-Disabling this also eliminates the -I and -q command-line options;
-the first inhibits the reading of nanorcfiles, and the second
+Disabling this also eliminates the @code{-I} and @code{-q} command-line
+options; the first inhibits the reading of nanorcfiles, and the second
suppresses warnings about errors in those files.
@item --disable-operatingdir
-Disable setting the operating directory. This also eliminates the -o
+Disable setting the operating directory. This also eliminates the @code{-o}
command-line option, which sets the operating directory.
@item --disable-speller
-Disable use of the spell checker. This also eliminates the -s
+Disable use of the spell checker. This also eliminates the @code{-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 hard-wrapping of overlong lines. This also eliminates the -w
+Disable hard-wrapping of overlong lines. This also eliminates the @code{-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. By using the enabling
-counterpart of the above options together with --enable-tiny, specific
-features can be switched back on.
+counterpart of the above options together with @code{--enable-tiny},
+specific features can be switched back on.
@item --enable-debug
Enable support for runtime debug output. This can get pretty messy, so