| \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.1.99pre1 |
| @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.1.99pre1 |
| |
| @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.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 |