510 lines
17 KiB
Plaintext
510 lines
17 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.3.6
|
|
@set UPDATED 11 Mar 2005
|
|
|
|
@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.3.6
|
|
|
|
@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 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 -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 -E, --backupdir=[dir]
|
|
Set the directory where @code{nano} puts the backup files if file
|
|
backups are enabled.
|
|
|
|
@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 -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=[#cols]
|
|
Set the displayed tab length to [#cols] 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 -Z, --restricted
|
|
Restricted mode: Don't read or write to any file not specified on the
|
|
command line, read any nanorc files, allow suspending, or allow a file
|
|
to be appended to, prepended to, or saved under a different name if it
|
|
already has one. Also accessible by invoking @code{nano} with any name
|
|
beginning with 'r' (e.g. "rnano").
|
|
|
|
@item -c, --const
|
|
Constantly display the cursor position and line number on the statusbar.
|
|
|
|
@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
|
|
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
|
|
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 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
|
|
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 ^), the Meta key (displayed as M), or the Esc key.
|
|
|
|
@itemize @bullet
|
|
@item
|
|
Control key sequences are entered by holding down the Control 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 ASCII code.
|
|
@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 Multiple File Buffers Toggle (Meta-F)
|
|
toggles the -F (@code{--multibuffer}) command line flag.
|
|
|
|
@item Backup File Toggle (Meta-H)
|
|
toggles the -A (@code{--smarthome}) command line flag.
|
|
|
|
@item Auto Indent 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 Auto Line Wrap Toggle (Meta-L)
|
|
toggles the -w (@code{--nowrap}) command line flag.
|
|
|
|
@item Mouse Toggle (Meta-M)
|
|
toggles the -m (@code{--mouse}) command line flag.
|
|
|
|
@item More Space Toggle (Meta-O)
|
|
toggles the -O (@code{--morespace}) command line flag.
|
|
|
|
@item Smooth Scrolling Toggle (Meta-S)
|
|
toggles the -S (@code{--smooth}) 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.
|
|
|
|
@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.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} 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.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 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
|