Provided by: nano_8.3-1_amd64 bug

NAME

       nano - Nano's ANOther text editor, inspired by Pico

SYNOPSIS

       nano [options] [[+line[,column]] file]...

       nano [options] [[+[crCR]{/|?}string] file]...

NOTICE

       Since  version 8.0, to be newcomer friendly, ^F starts a forward search, ^B starts a backward search, M-F
       searches the next occurrence forward, and M-B searches the next occurrence backward.  If you  want  those
       keystrokes  to  do  what  they  did before version 8.0, add the following lines at the end of your nanorc
       file:

           bind ^F forward main
           bind ^B back main
           bind M-F formatter main
           bind M-B linter main

DESCRIPTION

       nano is a small and friendly text editor.  It copies the look and feel of Pico, but is free software, and
       implements several features that Pico lacks,  such  as:  opening  multiple  files,  scrolling  per  line,
       undo/redo, syntax coloring, line numbering, and soft-wrapping overlong lines.

       When  giving  a filename on the command line, the cursor can be put on a specific line by adding the line
       number with a plus sign (+) before the filename, and even in a specific column by adding it with a comma.
       Negative numbers count from the end of the file or line.

       The cursor can be put on the first or last occurrence of a specific  string  by  specifying  that  string
       after  +/  or  +?  before  the  filename.   The  string  can  be  made case sensitive and/or caused to be
       interpreted as a regular expression by inserting c and/or r after the + sign.  These search modes can  be
       explicitly  disabled  by  using  the  uppercase  variant  of  those letters: C and/or R.  When the string
       contains spaces, it needs to be enclosed in quotes.  To give an example: to open  a  file  at  the  first
       occurrence of the word "Foo", you would do:

           nano +c/Foo file

       As a special case: if instead of a filename a dash (-) is given, nano will read data from standard input.

EDITING

       Entering  text  and  moving  around in a file is straightforward: typing the letters and using the normal
       cursor movement keys.  Commands are entered by using the Control (^) and  the  Alt  or  Meta  (M-)  keys.
       Typing  ^K  deletes the current line and puts it in the cutbuffer.  Consecutive ^Ks put all deleted lines
       together in the cutbuffer.  Any cursor movement or executing any other command  causes  the  next  ^K  to
       overwrite  the  cutbuffer.   A  ^U  pastes  the  current  contents of the cutbuffer at the current cursor
       position.

       When a more precise piece of text needs to be cut or copied, you can mark its start  with  ^6,  move  the
       cursor  to  its end (the marked text is highlighted), and then use ^K to cut it, or M-6 to copy it to the
       cutbuffer.  You can also save the marked text to a file with ^O, or spell check it with ^T^T.

       On some terminals, text can be selected also by holding down Shift while using the arrow  keys.   Holding
       down  the Ctrl or Alt key too increases the stride.  Any cursor movement without Shift being held cancels
       such a selection.

       Any valid Unicode code point can be inserted into the buffer by typing M-V followed  by  the  hexadecimal
       digits  of  the  code  point  (concluded  with  <Space> or <Enter> when it are fewer than six digits).  A
       literal control code (except ^J) can be inserted by typing M-V followed by the pertinent keystroke.

       The two lines at the bottom of the screen show some important commands; the built-in help (^G) lists  all
       the available ones.  The default key bindings can be changed via a nanorc file -- see nanorc(5).

OPTIONS

       -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  jumps  to  that  beginning  (either  forwards  or
              backwards).   If  the  cursor  is  already at that position, it jumps to the true beginning of the
              line.

       -B, --backup
              When saving a file, back up the previous version of it, using the current filename suffixed with a
              tilde (~).

       -C directory, --backupdir=directory
              Make and keep not just one backup file, but make and keep a uniquely numbered  one  every  time  a
              file  is  saved  --  when backups are enabled (-B).  The uniquely numbered files are stored in the
              specified directory.

       -D, --boldtext
              For the interface, use bold instead of  reverse  video.   This  can  be  overridden  for  specific
              elements  by  setting  the  options  titlecolor,  statuscolor,  promptcolor,  minicolor, keycolor,
              numbercolor, and/or selectedcolor in your nanorc file.  See nanorc(5).

       -E, --tabstospaces
              Convert each typed tab to spaces -- to the number of spaces that a tab at that position would take
              up.  (Note: pasted tabs are not converted.)

       -F, --multibuffer
              Read a file into a new buffer by default.

       -G, --locking
              Use vim-style file locking when editing files.

       -H, --historylog
              Save the last hundred search strings and replacement strings and executed commands, so they can be
              easily reused in later sessions.

       -I, --ignorercfiles
              Don't look at the system's nanorc nor at the user's nanorc.

       -J number, --guidestripe=number
              Draw a vertical stripe at the given column, to help judge the width of the text.   (The  color  of
              the stripe can be changed with set stripecolor in your nanorc file.)

       -K, --rawsequences
              Interpret  escape  sequences  directly, instead of asking ncurses to translate them.  (If you need
              this option to get some keys to work properly, it means that  the  terminfo  terminal  description
              that  is used does not fully match the actual behavior of your terminal.  This can happen when you
              ssh into a BSD machine, for example.)  Using this option disables nano's mouse support.

       -L, --nonewlines
              Don't automatically add a newline when a text does not end with one.  (This can cause you to  save
              non-POSIX text files.)

       -M, --trimblanks
              Snip trailing whitespace from the wrapped line when automatic hard-wrapping occurs or when text is
              justified.

       -N, --noconvert
              Disable automatic conversion of files from DOS/Mac format.

       -O, --bookstyle
              When  justifying,  treat  any  line  that  starts  with whitespace as the beginning of a paragraph
              (unless auto-indenting is on).

       -P, --positionlog
              For the 200 most recent files, log the last position of the cursor, and place it at that  position
              again upon reopening such a file.

       -Q "regex", --quotestr="regex"
              Set  the  regular  expression  for  matching  the  quoting  part  of a line.  The default value is
              "^([ \t]*([!#%:;>|}]|//))+".  (Note that \t stands for an actual Tab.)  This makes it possible  to
              rejustify  blocks  of quoted text when composing email, and to rewrap blocks of line comments when
              writing source code.

       -R, --restricted
              Restricted mode: don't read or write to any file not specified on the command line.   This  means:
              don't read or write history files; don't allow suspending; don't allow spell checking; don't allow
              a file to be appended to, prepended to, or saved under a different name if it already has one; and
              don't  make  backup  files.   Restricted mode can also be activated by invoking nano with any name
              beginning with 'r' (e.g. "rnano").

       -S, --softwrap
              Display over multiple screen rows lines that exceed the screen's width.  (You can make this  soft-
              wrapping occur at whitespace instead of rudely at the screen's edge, by using also --atblanks.)

       -T number, --tabsize=number
              Set the size (width) of a tab to number columns.  The value of number must be greater than 0.  The
              default value is 8.

       -U, --quickblank
              Make  status-bar  messages  disappear  after 1 keystroke instead of after 20.  Note that option -c
              (--constantshow) overrides this.  When option --minibar or --zero is in effect, --quickblank makes
              a message disappear after 0.8 seconds instead of after the default 1.5 seconds.

       -V, --version
              Show the current version number and exit.

       -W, --wordbounds
              Detect word boundaries differently by treating punctuation characters as part of a word.

       -X "characters", --wordchars="characters"
              Specify which other characters (besides the normal alphanumeric ones) should be considered as part
              of a word.  When using this option, you probably want to omit -W (--wordbounds).

       -Y name, --syntax=name
              Specify the name of the syntax highlighting to use from among  the  ones  defined  in  the  nanorc
              files.

       -Z, --zap
              Let  an unmodified Backspace or Delete erase the marked region (instead of a single character, and
              without affecting the cutbuffer).

       -a, --atblanks
              When doing soft line wrapping, wrap lines at whitespace instead of  always  at  the  edge  of  the
              screen.

       -b, --breaklonglines
              Automatically  hard-wrap  the current line when it becomes overlong.  (This option is the opposite
              of -w (--nowrap) -- the last one given takes effect.)

       -c, --constantshow
              Constantly show the cursor position on the  status  bar.   Note  that  this  overrides  option  -U
              (--quickblank).

       -d, --rebinddelete
              Interpret  the  Delete  and  Backspace  keys  differently  so  that both Backspace and Delete work
              properly.  You should only use this option when on your system either Backspace acts  like  Delete
              or Delete acts like Backspace.

       -e, --emptyline
              Do not use the line below the title bar, leaving it entirely blank.

       -f file, --rcfile=file
              Read  only  this  file for setting nano's options, instead of reading both the system-wide and the
              user's nanorc files.

       -g, --showcursor
              Make the cursor visible in the file browser (putting it on the highlighted item) and in  the  help
              viewer.  Useful for braille users and people with poor vision.

       -h, --help
              Show a summary of the available command-line options and exit.

       -i, --autoindent
              Automatically indent a newly created line to the same number of tabs and/or spaces as the previous
              line (or as the next line if the previous line is the beginning of a paragraph).

       -j, --jumpyscrolling
              Scroll the buffer contents per half-screen instead of per line.

       -k, --cutfromcursor
              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.

       -l, --linenumbers
              Display line numbers to the left of the text area.  (Any line with an anchor additionally  gets  a
              mark in the margin.)

       -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  works  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.

       -n, --noread
              Treat any name given on the command line as a new file.  This allows nano to write to named pipes:
              it starts with a blank buffer, and writes to the pipe when the user saves the  "file".   This  way
              nano  can  be  used  as  an  editor  in  combination with for instance gpg without having to write
              sensitive data to disk first.

       -o directory, --operatingdir=directory
              Set the operating directory.  This makes nano set up something similar to a chroot.

       -p, --preserve
              Preserve the XOFF and XON sequences (^S and ^Q) so that they are caught by the terminal  (stopping
              and resuming the output).  Note that option -/ (--modernbindings) overrides this.

       -q, --indicator
              Display  a  "scrollbar"  on  the  righthand side of the edit window.  It shows the position of the
              viewport in the buffer and how much of the buffer is covered by the viewport.

       -r number, --fill=number
              Set the target width for justifying and automatic hard-wrapping at this number of columns.  If the
              value is 0 or less, wrapping occurs at the width of the screen minus number columns, allowing  the
              wrap point to vary along with the width of the screen if the screen is resized.  The default value
              is -8.

       -s "program [argument ...]", --speller="program [argument ...]"
              Use this command to perform spell checking and correcting, instead of using the built-in corrector
              that calls hunspell(1) or spell(1).

       -t, --saveonexit
              Save a changed buffer without prompting (when exiting with ^X).

       -u, --unix
              Save a file by default in Unix format.  This overrides nano's default behavior of saving a file in
              the format that it had.  (This option has no effect when you also use --noconvert.)

       -v, --view
              Just  view  the file and disallow editing: read-only mode.  This mode allows the user to open also
              other files for viewing, unless --restricted is given too.

       -w, --nowrap
              Do not automatically hard-wrap the current line when it becomes overlong.  This  is  the  default.
              (This option is the opposite of -b (--breaklonglines) -- the last one given takes effect.)

       -x, --nohelp
              Don't show the two help lines at the bottom of the screen.

       -y, --afterends
              Make Ctrl+Right and Ctrl+Delete stop at word ends instead of beginnings.

       -z, --listsyntaxes
              List the names of the available syntaxes and exit.

       -!, --magic
              When  neither  the file's name nor its first line give a clue, try using libmagic to determine the
              applicable syntax.

       -@, --colonparsing
              When a filename given on the command line ends in a colon plus digits and this filename  does  not
              exist, then snip the colon plus digits and understand the digits as a line number.  If the trimmed
              filename does not exist either, then repeat the process and understand the obtained two numbers as
              line and column number.  But if the doubly trimmed filename does not exist either, then forget the
              trimming and accept the original filename as is.  To disable this colon parsing for some file, use
              +1 or similar before the relevant filename.

       -%, --stateflags
              Use the top-right corner of the screen for showing some state flags: I when auto-indenting, M when
              the  mark  is on, L when hard-wrapping (breaking long lines), R when recording a macro, and S when
              soft-wrapping.  When the buffer is modified, a star (*) is shown after the filename in the  center
              of the title bar.

       -_, --minibar
              Suppress  the title bar and instead show information about the current buffer at the bottom of the
              screen, in the space for the status bar.  In this "mini bar" the filename is shown  on  the  left,
              followed  by  an asterisk if the buffer has been modified.  On the right are displayed the current
              line and column number, the code of the character under the cursor (in  Unicode  format:  U+xxxx),
              the same flags as are shown by --stateflags, and a percentage that expresses how far the cursor is
              into  the  file  (linewise).   When  a  file  is  loaded or saved, and also when switching between
              buffers, the number of lines in the buffer is  displayed  after  the  filename.   This  number  is
              cleared upon the next keystroke, or replaced with an [i/n] counter when multiple buffers are open.
              The  line  plus  column  numbers  and the character code are displayed only when --constantshow is
              used, and can be toggled  on  and  off  with  M-C.   The  state  flags  are  displayed  only  when
              --stateflags is used.

       -0, --zero
              Hide all elements of the interface (title bar, status bar, and help lines) and use all rows of the
              terminal  for  showing  the  contents  of the buffer.  The status bar appears only when there is a
              significant message, and disappears after 1.5 seconds or upon the next keystroke.   With  M-Z  the
              title bar plus status bar can be toggled.  With M-X the help lines.

       -/, --modernbindings
              Use key bindings similar to the ones that most modern programs use: ^X cuts, ^C copies, ^V pastes,
              ^Z  undoes, ^Y redoes, ^F searches forward, ^G searches next, ^S saves, ^O opens a file, ^Q quits,
              and (when the terminal  permits)  ^H  shows  help.   Furthermore,  ^A  sets  the  mark,  ^R  makes
              replacements,  ^D  searches  previous,  ^P  shows the position, ^T goes to a line, ^W writes out a
              file, and ^E executes a command.  Note that this overrides option -p (--preserve).

TOGGLES

       Several of the above options can be switched on and off also while nano is  running.   For  example,  M-L
       toggles the hard-wrapping of long lines, M-S toggles soft-wrapping, M-N toggles line numbers, M-M toggles
       the  mouse,  M-I  auto-indentation,  and  M-X  the  help lines.  See at the end of the ^G help text for a
       complete list.

       The M-X toggle is special: it works in all menus except the  help  viewer  and  the  linter.   All  other
       toggles work in the main menu only.

FILES

       When  --rcfile  is given, nano reads just the specified file for setting its options and syntaxes and key
       bindings.  Without that option, nano reads two configuration files: first  the  system's  nanorc  (if  it
       exists),  and  then the user's nanorc (if it exists), either ~/.nanorc or $XDG_CONFIG_HOME/nano/nanorc or
       ~/.config/nano/nanorc, whichever is encountered  first.   See  nanorc(5)  for  more  information  on  the
       possible contents of those files.

       See /usr/share/nano/ and /usr/share/nano/extra/ for available syntax-coloring definitions.

NOTES

       Suspension  is enabled by default, reachable via ^T^Z.  (If you want a plain ^Z to suspend nano, add bind
       ^Z suspend main to your nanorc.)

       At a Yes-No prompt, ^Y can be used for "Yes", ^N for "No", and ^A for  "All".   These  unlisted  bindings
       work in any locale.

       When  you  want  to  copy marked text from nano to the system's clipboard, see one of the examples in the
       nanorc(5) man page.

       If no alternative spell checker command is specified on the command line nor in one of the nanorc  files,
       nano checks the SPELL environment variable for one.

       In some cases nano tries to dump the buffer into an emergency file.  This happens mainly if nano receives
       a  SIGHUP  or  SIGTERM  or  runs  out of memory.  It writes the buffer into a file named nano.save if the
       buffer didn't have a name already, or adds a ".save" suffix to the current  filename.   If  an  emergency
       file  with  that  name  already  exists  in  the  current  directory, it adds ".save" plus a number (e.g.
       ".save.1") to the current filename in order to make it unique.  In multibuffer mode, nano writes all open
       buffers to their respective emergency files.

       If you have any question about how to use  nano  in  some  specific  situation,  you  can  ask  on  help-
       nano@gnu.org.

BUGS

       The recording and playback of keyboard macros works correctly only on a terminal emulator, not on a Linux
       console (VT), because the latter does not by default distinguish modified from unmodified arrow keys.

       Please report any other bugs that you encounter via:
       https://savannah.gnu.org/bugs/?group=nano.

       When  nano crashes, it saves any modified buffers to emergency .save files.  If you are able to reproduce
       the crash and you want to get a backtrace, define the environment variable NANO_NOCATCH.

HOMEPAGE

       https://nano-editor.org/

SEE ALSO

       nanorc(5)

       /usr/share/doc/nano/ (or equivalent on your system)

December 2024                                      version 8.3                                           NANO(1)