501 lines
16 KiB
Plaintext
501 lines
16 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 1.2.0
|
|
@set UPDATED 17 Jan 2003
|
|
|
|
@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 1.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 Chris Allegretta.
|
|
|
|
Permission is granted to make and distribute verbatim copies of this
|
|
manual provided the copyright notice and this permission notice are
|
|
preserved on all copies.
|
|
|
|
@iftex
|
|
Permission is granted to process this file through @TeX{} and print the
|
|
results, provided the printed document carries copying permission notice
|
|
identical to this one except for the removal of this paragraph (this
|
|
paragraph not being relevant to the printed manual).
|
|
@end iftex
|
|
|
|
Permission is granted to copy and distribute modified versions of this
|
|
manual under the conditions for verbatim copying, provided that the
|
|
entire resulting derived work is distributed under the terms of a
|
|
permission notice identical to this one.
|
|
|
|
Permission is granted to copy and distribute translations of this manual
|
|
into another language, under the above conditions for modified versions,
|
|
except that this permission notice may be stated in a translation
|
|
approved by the Foundation.
|
|
|
|
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::
|
|
* 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, goto line 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
|
|
|
|
@code{nano} +LINE [GNU long option] [option] [ @var{file ...} ]
|
|
|
|
The original goal for @code{nano} was a complete bug-for-bug compatible
|
|
emulation of Pico, but nano's main goal is to be as compatible as
|
|
possible while offering a superset of Pico's functionality.
|
|
Also see @xref{Pico Compatibility}, for other differences.
|
|
|
|
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 -B, --backup
|
|
When saving a file, back up the previous version of it to the current
|
|
filename suffixed with a ~.
|
|
|
|
@item -D, --dos
|
|
Write file in DOS format.
|
|
|
|
@item -F, --multibuffer
|
|
Enable multiple file buffers, if available.
|
|
|
|
@item -I, --ignorercfiles
|
|
Don't look at $SYSCONFDIR/nanorc or ~/.nanorc, if nanorc support is
|
|
available.
|
|
|
|
@item -K, --keypad
|
|
Do not use the ncurses keypad() call unless necessary. Try this flag if
|
|
you find that the arrow keys on the numeric keypad do not work for you
|
|
under @code{nano}.
|
|
|
|
@item -M, --mac
|
|
Write file in Mac format.
|
|
|
|
@item -N, --noconvert
|
|
Do not convert files from DOS/Mac format.
|
|
|
|
@item -Q [str], --quotestr [str]
|
|
Set the quoting string for justifying. The default is
|
|
|
|
@quotation
|
|
@code{^([ \t]*[|>:@}#])+}
|
|
@end quotation
|
|
|
|
if regular expression support is available, or ``> '' otherwise. Note
|
|
that @code{\t} above stands for a literal Tab character.
|
|
|
|
@item -R, --regexp
|
|
Turn on regular expression search and search/replace.
|
|
|
|
@item -S, --smooth
|
|
Enable smooth scrolling.
|
|
|
|
@item -T [num], --tabsize=[num]
|
|
Set the displayed tab length to [num] columns.
|
|
|
|
@item -V, --version
|
|
Print the version number and copyright and quit.
|
|
|
|
@item -Y, --syntax=[str]
|
|
Specify a specific syntax highlighting from the .nanorc to use, if
|
|
available.
|
|
|
|
@item -c, --const
|
|
Constantly display the cursor position and line number on the statusbar.
|
|
|
|
@item -h, --help
|
|
Print the usage and exit.
|
|
|
|
@item -i, --autoindent
|
|
Automatically indent new lines to the same number of spaces and tabs as
|
|
the previous line.
|
|
|
|
@item -k, --cut
|
|
Makes ^K 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
|
|
Enables the use of the mouse to select text (currently only useful for
|
|
running under the X window system).
|
|
|
|
@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 -r [#cols], --fill=[#cols].
|
|
Wrap lines at column #cols. By default this is the width of the screen,
|
|
less eight. If this value is negative, wrapping will occur at #cols from
|
|
the right of the screen, allowing it to vary along with the screen width
|
|
if the screen is resized.
|
|
|
|
@item -s [prog], --speller=[prog]
|
|
Invoke [prog] as the spell checker. By default, @code{nano} uses its
|
|
own interactive spell checker that requires the @code{spell} program be
|
|
installed on your system.
|
|
|
|
@item -t, --tempfile
|
|
Do not 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.
|
|
|
|
@anchor{Expert Mode}
|
|
@item -x, --nohelp
|
|
In Expert Mode, the Shortcut Lists will not appear 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 -v, --view
|
|
Do not allow the contents of the file to be altered. Note that this
|
|
flag should NOT be used in place of correct file permissions to implement
|
|
a read-only file.
|
|
|
|
@item -w, --nowrap
|
|
Do not wrap long lines at any length. This option overrides any value for
|
|
-r.
|
|
|
|
@item -z, --suspend
|
|
Enable suspend ability of @code{nano} using the system's suspend
|
|
keystroke (usually ^Z).
|
|
|
|
@item -a, -b, -e, -f, -g, -j
|
|
Ignored, for compatibility with Pico.
|
|
|
|
@item +LINE
|
|
Start at line number LINE instead of the default of line 1.
|
|
@end table
|
|
|
|
@node Editor Basics, Online Help, Introduction, Top
|
|
@chapter Editor Basics
|
|
@menu
|
|
* Entering Text::
|
|
* Special Functions::
|
|
* The Titlebar::
|
|
* The Statusbar::
|
|
* Shortcut Lists::
|
|
@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 key (displayed in the help and
|
|
shortcut lists as ^) or the Meta key (displayed as M).
|
|
|
|
@itemize @bullet
|
|
|
|
@item
|
|
Control key sequences are entered by holding down the Control key and
|
|
pressing the desired letter.
|
|
@item
|
|
Meta key sequences can be entered in a number of
|
|
possible ways: Pressing the Escape key, then releasing it and pressing
|
|
the desired key, or holding down the Alt key while pressing the desired
|
|
key. This varies from keyboard to keyboard, and certain commercial
|
|
operating systems ``swallow'' the Alt key so that it never reaches the
|
|
application. If your operating system does this, you should use the
|
|
Escape 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 file name, 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.
|
|
@xref{The File Browser}.
|
|
|
|
@node The Statusbar, Shortcut Lists, The Titlebar, Editor Basics
|
|
@section The Statusbar
|
|
|
|
The statusbar is located three lines from the bottom of the screen (or
|
|
the bottom line in Expert Mode. @xref{Expert Mode}, for more info).
|
|
|
|
The Statusbar 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, file names, etc) will be input on
|
|
the statusbar.
|
|
|
|
@node Shortcut Lists, , 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 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, The File Browser, Online Help, Top
|
|
@chapter Feature Toggles
|
|
|
|
Toggles allow you to change certain aspects of the editor that
|
|
would normally be done via command line flags. They are invoked via
|
|
certain Meta key sequences. @xref{Special Functions}, for more info.
|
|
The following global toggles are available:
|
|
|
|
@table @code
|
|
|
|
@item Backup File Toggle (Meta-B)
|
|
toggles the -B (@code{--backup}) command line flag.
|
|
|
|
@item DOS Format Toggle (Meta-D)
|
|
toggles the -D (@code{--dos}) command line flag.
|
|
|
|
@item Multiple Files Toggle (Meta-F)
|
|
toggles the -F (@code{--multibuffer}) command line flag.
|
|
|
|
@item AutoIndent Toggle (Meta-I)
|
|
toggles the -i (@code{--autoindent}) command line flag.
|
|
|
|
@item Cut To End Toggle (Meta-K)
|
|
toggles the -k (@code{--cut}) command line flag.
|
|
|
|
@item Mouse Toggle (Meta-M)
|
|
toggles the -m (@code{--mouse}) command line flag.
|
|
|
|
@item Mac Format Toggle (Meta-O)
|
|
toggles the -M (@code{--mac}) command line flag.
|
|
|
|
@item Smooth Scrolling Toggle (Meta-S)
|
|
toggles the -S (@code{--smooth}) command line flag.
|
|
|
|
@item AutoWrap Toggle (Meta-W)
|
|
toggles the -w (@code{--nowrap}) command line flag.
|
|
|
|
@item Expert/Nohelp Toggle (Meta-X)
|
|
toggles the -x (@code{--nohelp}) command line flag.
|
|
|
|
@item Suspend Toggle (Meta-Z)
|
|
toggles the -z (@code{--suspend}) command line flag.
|
|
|
|
@item Open Previous File Toggle (Meta-<)
|
|
changes buffer to previously loaded file.
|
|
|
|
@item Open Next File Toggle (Meta->)
|
|
changes buffer to next loaded file.
|
|
|
|
@end table
|
|
|
|
|
|
@node The File Browser, Pico Compatibility, Feature Toggles, 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
|
|
and page up/down. 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 is exited.
|
|
|
|
@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.2.0 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} flag, but recent versions of Pico use the @code{-p} flag
|
|
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 or Appending Selected Text to Files
|
|
Text selected using the Control-Caret (^^) key can be written out or
|
|
appended 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}. Also see @xref{Feature Toggles}, though this may be out
|
|
of date.
|
|
|
|
@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 the @code{nano} 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 stop at each search
|
|
string found and query whether to replace this instance or not. The
|
|
internal spell checker operates similarly. Note that these is no way
|
|
to force these functions to behave in the Pico fashion. As of
|
|
version 1.2.0, 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 nano)
|
|
@item cd nano-x.y.z/
|
|
@item ./configure
|
|
@item make
|
|
@item make install
|
|
@end itemize
|
|
|
|
if you are looking to optimize @code{nano} for size, you may want to
|
|
consider the following command line options:
|
|
|
|
|
|
@table @code
|
|
|
|
@item --disable-tabcomp
|
|
Disable the tab completion code when reading or writing files.
|
|
|
|
@item --disable-justify
|
|
Disable the justify (^J)/unjustify (^U) functions in the editor.
|
|
|
|
@item --disable-speller
|
|
Disable spell checker ability.
|
|
|
|
@item --disable-help
|
|
Disable the help function (^G). Disabling this option 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-browser
|
|
Disable the mini file browser (^T) when reading or writing files.
|
|
|
|
@item --disable-mouse
|
|
Disable all mouse functionality. This also disables the -m command line
|
|
flag, which enables the mouse functions.
|
|
|
|
@item --disable-operatingdir
|
|
Disable setting the operating directory. This also disables the -o
|
|
command line flag.
|
|
|
|
@item --enable-tiny
|
|
This option disables all the above. It also disables some of the larger
|
|
internals of the editor, like the marker code (^^) and the cut to line
|
|
(-k) option, which depends on the marker code to work properly. It also
|
|
disables the function toggles.
|
|
|
|
@item --disable-wrapping
|
|
Disable all word wrapping in the editor. This also eliminates the -w
|
|
command line flag, as nonwrapping is then the default behavior.
|
|
|
|
@item --disable-nls
|
|
Disables Native Language support. This will make the available GNU
|
|
@code{nano} translations unusable.
|
|
|
|
@item --with-slang
|
|
Compiling GNU @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
|