994 lines
34 KiB
Plaintext
994 lines
34 KiB
Plaintext
\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.3.3
|
|
@set UPDATED May 2014
|
|
|
|
@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.3.3
|
|
|
|
@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.@*
|
|
@sp 4
|
|
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
|
|
2009, 2014 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
|
|
@top
|
|
|
|
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
|
|
@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
|
|
@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
|
|
@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 -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 -G, --locking
|
|
Enable vim-style file locking when editing files.
|
|
|
|
@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
|
|
Disable automatic conversion of files from DOS/Mac format.
|
|
|
|
@item -O, --morespace
|
|
Use the blank line below the titlebar as extra editing space.
|
|
|
|
@item -P, --poslog
|
|
Log and later read back the location of the cursor and place it
|
|
there again.
|
|
|
|
@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; don't read any nanorc files; don't allow suspending; don't
|
|
allow a file to be appended to, prepended to, or saved under a different
|
|
name if it already has one; don't use backup files nor spell checking.
|
|
This restricted mode is 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 <number>, --tabsize=<number>
|
|
Set the displayed tab length to <number> columns. The value of <number>
|
|
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
|
|
Make the 'Cut Text' command (normally ^K) cut from the current cursor
|
|
position to the end of the line, instead of cutting the entire 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. Text can still be
|
|
selected through dragging by holding down the Shift key.
|
|
|
|
@item -n, --noread
|
|
Treat any name given on the command line as a new file. This allows
|
|
@code{nano} to write to named pipes: it will start with a blank buffer,
|
|
and will write to the pipe when the user saves the "file". This way
|
|
@code{nano} can be used as an editor in combination with for instance
|
|
@code{gpg} without having to write sensitive data to disk first.
|
|
|
|
@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 <number>, --fill=<number>
|
|
Hard-wrap lines at column <number> (by inserting a newline character).
|
|
If the given value is 0 or less, wrapping will occur at the width of
|
|
the screen minus the given amount, allowing the wrapping width to
|
|
vary along with the width of the screen if and when it is resized.
|
|
The default value is -8. This option conflicts with -w -- the last
|
|
one given takes effect.
|
|
|
|
@item -s <program>, --speller=<program>
|
|
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 the experimental generic-purpose undo/redo code. The default 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 hard-wrap long lines at any length. This option conflicts with
|
|
-r -- the last one given takes effect.
|
|
|
|
@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 the ability to suspend @code{nano} using the system's suspend
|
|
keystroke (usually ^Z).
|
|
|
|
@item -$, --softwrap
|
|
Enable 'soft wrapping'. This will make @code{nano} attempt to display the
|
|
entire contents of any line, even if it is longer than the screen width, by
|
|
continuing it over multiple screen lines. Since
|
|
'$' normally refers to a variable in the Unix shell, you should specify
|
|
this option last when using other options (e.g. @code{nano -wS$}) or pass it
|
|
separately (e.g. @code{nano -wS -$}).
|
|
|
|
@item -a, -b, -e, -f, -g, -j
|
|
Ignored, for compatibility with Pico.
|
|
@end table
|
|
|
|
|
|
@node Editor Basics
|
|
@chapter Editor Basics
|
|
|
|
@menu
|
|
* Entering Text::
|
|
* Special Functions::
|
|
* The Cutbuffer::
|
|
* The Mark::
|
|
* The Titlebar::
|
|
* The Statusbar::
|
|
* Shortcut Lists::
|
|
* Using the Mouse::
|
|
@end menu
|
|
|
|
@node Entering Text
|
|
@section Entering Text
|
|
|
|
@code{nano} is a "modeless" editor. All keystrokes, with the exception
|
|
of Control and Meta key sequences, enter text into the file being edited.
|
|
All key sequences in @code{nano} are entered using the keyboard.
|
|
|
|
@node Special Functions
|
|
@section Special Functions
|
|
|
|
Special functions use the Control key (Ctrl), displayed in the help and
|
|
shortcut lists as ^; the Meta key (Alt or Cmd), displayed as M-; or the
|
|
Escape key (Esc).
|
|
|
|
@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 then
|
|
pressing the desired key.
|
|
@item
|
|
Pressing the Esc key 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 then 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 Cutbuffer
|
|
@section The Cutbuffer
|
|
|
|
Text can be cut from a file, a whole line at a time, by using the 'Cut Text'
|
|
command (default key binding: ^K). The cut line is stored in the cutbuffer.
|
|
Consecutive strokes of ^K will add each cut line to this buffer, but a ^K
|
|
after any other keystroke will overwrite the entire cutbuffer.
|
|
|
|
The contents of the cutbuffer can be pasted back into the file with the
|
|
'Uncut Text' command (default key binding: ^U).
|
|
|
|
A line of text can be copied into the cutbuffer (without cutting it) with
|
|
the 'Copy Text' command (default key binding: M-6).
|
|
|
|
@node The Mark
|
|
@section The Mark
|
|
|
|
Text can be selected by first 'setting the Mark' (default key bindings:
|
|
^6 and M-A) and then moving the cursor to the other end of the portion
|
|
to be selected. The selected portion of text will be highlighted in
|
|
reverse video (or in bold if you set the boldtext option).
|
|
This selection can now be cut or copied in its entirety with a single
|
|
^K or M-6. Or the selection can be used to limit the scope of a
|
|
search-and-replace (^\) or spell-checking session (^T).
|
|
|
|
Cutting or copying selected text will toggle the mark off automatically.
|
|
If necessary, it can be toggled off manually with another ^6 or M-A.
|
|
|
|
@node The Titlebar
|
|
@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
|
|
@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
|
|
@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
|
|
@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. To be able to select text with the
|
|
left button, or paste text with the middle button, hold down the
|
|
Shift key during those actions.
|
|
|
|
The mouse will work in the X Window System, and on the console when gpm
|
|
is running.
|
|
|
|
|
|
@node Online Help
|
|
@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
|
|
@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
|
|
@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 allow_insecure_backup
|
|
When backing up files, allow the backup to succeed even if its
|
|
permissions can't be (re)set due to special OS considerations.
|
|
You should NOT enable this option unless you are sure you need it.
|
|
|
|
@item set/unset autoindent
|
|
Use auto-indentation.
|
|
|
|
@item set/unset backup
|
|
When saving a file, back up the previous version of it to the current
|
|
filename suffixed with a tilde (@code{~}).
|
|
|
|
@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 instead of reverse video for the titlebar, statusbar, key combos,
|
|
and selected text. This can be overridden for the first three by setting
|
|
the options "titlecolor", "statuscolor", and "keycolor".
|
|
|
|
@item set brackets "string"
|
|
Set the characters treated as closing brackets when justifying
|
|
paragraphs. This may not include blank characters. Only closing
|
|
punctuation (see "punct"), optionally followed by the specified
|
|
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"
|
|
Hard-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 functioncolor fgcolor,bgcolor
|
|
Specify the color combination to use for the function descriptions
|
|
in the two help lines at the bottom of the screen.
|
|
See "set titlecolor" for more details.
|
|
|
|
@item set/unset historylog
|
|
Enable ~/.nano_history for saving and reading search/replace strings.
|
|
|
|
@item set keycolor fgcolor,bgcolor
|
|
Specify the color combination to use for the shortcut key combos
|
|
in the two help lines at the bottom of the screen.
|
|
See "set titlecolor" for more details.
|
|
|
|
@item set/unset locking
|
|
Enable vim-style lock-files for when editing files.
|
|
|
|
@item set matchbrackets "string"
|
|
Set the opening and closing brackets that can be found by bracket
|
|
searches. This may not include blank characters. The opening set must
|
|
come before the closing set, and the two sets 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 hard-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 poslog
|
|
Save the cursor position of files between editing sessions.
|
|
|
|
@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. This may not include blank characters. Only the
|
|
specified closing punctuation, optionally followed by closing brackets
|
|
(see "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/unset quiet
|
|
When set, @code{nano} will not report errors in the nanorc file nor ask them
|
|
to be acknowledged by pressing Enter at startup. If this option is used, it
|
|
should be placed at the top of the file to be fully effective.
|
|
|
|
@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, and "> " 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
|
|
Enable soft line wrapping for easier viewing of very long lines.
|
|
|
|
@item set speller "spellprog"
|
|
Use spelling checker "spellprog" instead of the built-in one, which
|
|
calls "spell".
|
|
|
|
@item set statuscolor fgcolor,bgcolor
|
|
Specify the color combination to use for the statusbar.
|
|
See "set titlecolor" for more details.
|
|
|
|
@item set/unset suspend
|
|
Allow @code{nano} to be suspended.
|
|
|
|
@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 titlecolor fgcolor,bgcolor
|
|
Specify the color combination to use for the titlebar.
|
|
Valid color names for foreground and background are:
|
|
white, black, red, blue, green, yellow, magenta, and cyan.
|
|
And either "fgcolor" or ",bgcolor" may be left out.
|
|
|
|
@item set/unset undo
|
|
Enable the experimental generic-purpose undo/redo code.
|
|
|
|
@item set/unset view
|
|
Disallow file modification.
|
|
|
|
@item set whitespace "string"
|
|
Set the two characters used to indicate the presence 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 this "str"
|
|
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 linter program [arg @dots{}]
|
|
For the currently defined syntax, use the given program to invoke the
|
|
linter (this overrides the speller function when defined).
|
|
|
|
@item magic ["regex" @dots{}]
|
|
For the currently defined syntax, add one or more regexes which will be
|
|
compared against the magic database when attempting to determine which
|
|
highlighting rules to use for a given file. This functionality only works
|
|
when libmagic is installed on the system and will be silently ignored otherwise.
|
|
|
|
@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.
|
|
Valid colors for foreground and background are: white, black, red,
|
|
blue, green, yellow, magenta, and cyan. You may use the prefix "bright"
|
|
to get a stronger color highlight for the foreground. If your
|
|
terminal supports transparency, not specifying a "bgcolor" tells @code{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.
|
|
|
|
@item extendsyntax str directive [arg @dots{}]
|
|
Extend the syntax previously defined as str to include new information.
|
|
Allows you to add a new color, icolor, magic, header, or linter directive
|
|
to an already defined syntax. Useful when you want to add to definitions
|
|
from the system-installed syntax definitions (which are normally not writable).
|
|
|
|
@end table
|
|
|
|
|
|
@node The File Browser
|
|
@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
|
|
@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 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
|
|
be prompted for correction separately.
|
|
@end table
|
|
|
|
|
|
@node Building and Configure Options
|
|
@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-color
|
|
Disable support for syntax coloring of files using the nanorc file.
|
|
|
|
@item --disable-extra
|
|
Disable extra features. At the moment, this is just easter-egg-type
|
|
stuff.
|
|
|
|
@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-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
|
|
tests on filename extension and header line will be enough).
|
|
|
|
@item --disable-mouse
|
|
Disable all mouse functionality. This also eliminates the -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.
|
|
|
|
@item --disable-nanorc
|
|
Disable support for reading the nanorc files at startup. With such
|
|
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.
|
|
|
|
@item --disable-operatingdir
|
|
Disable setting the operating directory. This also eliminates the -o
|
|
command-line option, which sets the operating directory.
|
|
|
|
@item --disable-speller
|
|
Disable use of the spell checker. This also eliminates 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 hard-wrapping of overlong lines. 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 when you're working on the nano source.
|
|
|
|
@item --disable-nls
|
|
Disables Native Language support. This will disable use of the
|
|
available GNU @code{nano} translations.
|
|
|
|
@item --disable-wrapping-as-root
|
|
Disable hard-wrapping of overlong lines by default when @code{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. Normally the
|
|
configure script auto-detects whether to enable UTF-8 support or not.
|
|
You can use this or the previous option to override that detection.
|
|
|
|
@item --with-slang
|
|
Compile @code{nano} against Slang instead of against ncurses or other
|
|
curses libraries.
|
|
|
|
@end table
|
|
|
|
@contents
|
|
@bye
|